]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
libata: don't flush dcache on slab pages
authorSebastian Andrzej Siewior <sebastian@breakpoint.cc>
Sun, 21 Mar 2010 21:52:23 +0000 (22:52 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Jul 2010 18:15:29 +0000 (11:15 -0700)
commit 3842e835490cdf17013b30a788f6311bdcfd0571 upstream.

page_mapping() check this via VM_BUG_ON(PageSlab(page)) so we bug here
with the according debuging turned on.

Future TODO: replace this with a flush_dcache_page_for_pio() API

Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/ata/libata-sff.c

index 730ef3c384ca190818857c89ab044006dccfe75d..06e7204d7b93fcc9808098ad01826b4484cc9074 100644 (file)
@@ -893,7 +893,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc)
                                       do_write);
        }
 
-       if (!do_write)
+       if (!do_write && !PageSlab(page))
                flush_dcache_page(page);
 
        qc->curbytes += qc->sect_size;