summaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <sebastian@breakpoint.cc>2010-03-21 22:52:23 +0100
committerJeff Garzik <jgarzik@redhat.com>2010-05-14 17:50:05 -0400
commit3842e835490cdf17013b30a788f6311bdcfd0571 (patch)
tree8468746d8f024d262fc53a7972f184792367b201 /drivers/ata
parent276a47a93dbfe5d35261451925020f65cdbfcce8 (diff)
downloadlinux-3842e835490cdf17013b30a788f6311bdcfd0571.tar.bz2
libata: don't flush dcache on slab pages
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> Cc: stable@kernel.org
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-sff.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index b7f7f8557fee..c0a905438896 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -919,7 +919,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;