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

Tim Gardner tim.gardner at canonical.com
Mon Sep 13 14:55:21 UTC 2010


On 09/13/2010 08:32 AM, Tim Gardner wrote:
> 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);
>   	}
>   }
>

As Eric has pointed out, you could just cherry-pick 
ac8456d6f9a3011c824176bd6084d39e5f70a382 from Linus' repo.

-- 
Tim Gardner tim.gardner at canonical.com




More information about the kernel-team mailing list