[PATCH] bounce: call flush_dcache_page after bounce_copy_vec

Bryan Wu bryan.wu at canonical.com
Mon Sep 13 05:49:22 UTC 2010


From: Gary King <gking at nvidia.com>

the bounced page needs to be flushed after data is copied into it,
to ensure that architecture implementations can synchronize
instruction and data caches if necessary.

This patch was posted at armlinux mail list and was asked by Andrew
Morton and Jens Axboe. We tried this patch and found is fixed memtester
issue.
(http://lists.infradead.org/pipermail/linux-arm-kernel/2010-September/025373.html)

BugLink: http://bugs.launchpad.net/bugs/633227

Signed-off-by: Gary King <gking at nvidia.com>
Tested-by: Ricardo Salveti de Araujo <ricardo.salveti at canonical.com>
Tested-by: Sebastien Jan <s-jan at ti.com>
Signed-off-by: Bryan Wu <bryan.wu at canonical.com>
---
 mm/bounce.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/mm/bounce.c b/mm/bounce.c
index 13b6dad..1481de6 100644
--- a/mm/bounce.c
+++ b/mm/bounce.c
@@ -116,8 +116,8 @@ static void copy_to_high_bio_irq(struct bio *to, struct bio *from)
 		 */
 		vfrom = page_address(fromvec->bv_page) + tovec->bv_offset;
 
-		flush_dcache_page(tovec->bv_page);
 		bounce_copy_vec(tovec, vfrom);
+		flush_dcache_page(tovec->bv_page);
 	}
 }
 
-- 
1.7.0.4





More information about the kernel-team mailing list