Maverick pull request, pre-stable LP633227, bounce: call flush_dcache_page after bounce_copy_vec

Tim Gardner timg at tpi.com
Mon Sep 13 14:32:53 UTC 2010


The following changes since commit 639eb74f08df97c272042f346a870a9cbf3b7a50:
  Leann Ogasawara (1):
        UBUNTU: Ubuntu-2.6.35-21.30

are available in the git repository at:

  git://kernel.ubuntu.com/rtg/ubuntu-maverick.git flush_dcache_page-LP633227

Gary King (1):
      (pre-stable) bounce: call flush_dcache_page after bounce_copy_vec

 mm/bounce.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
>From 356088fe4e0da011698c7d3bfe16b9ec7e982250 Mon Sep 17 00:00:00 2001
From: Gary King <gking at nvidia.com>
Date: Mon, 13 Sep 2010 13:49:22 +0800
Subject: [PATCH] (pre-stable) bounce: call flush_dcache_page after bounce_copy_vec

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>
Signed-off-by: Tim Gardner <tim.gardner 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