diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2008-11-06 19:04:23 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-11-06 19:04:23 +0100 |
commit | 878708f290f6ed8b108d73fd6ab624cda6266a1e (patch) | |
tree | 249f991f231ef8532c7f44b592bbfe78194f7e2e /arch/arm/mm | |
parent | [ARM] mm: fix page table initialization (diff) | |
parent | [ARM] xsc3: fix xsc3_l2_inv_range (diff) | |
download | linux-878708f290f6ed8b108d73fd6ab624cda6266a1e.tar.xz linux-878708f290f6ed8b108d73fd6ab624cda6266a1e.zip |
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/xscaleiop
Diffstat (limited to 'arch/arm/mm')
-rw-r--r-- | arch/arm/mm/cache-xsc3l2.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mm/cache-xsc3l2.c b/arch/arm/mm/cache-xsc3l2.c index 10b1bae1a258..464de893a988 100644 --- a/arch/arm/mm/cache-xsc3l2.c +++ b/arch/arm/mm/cache-xsc3l2.c @@ -98,7 +98,7 @@ static void xsc3_l2_inv_range(unsigned long start, unsigned long end) /* * Clean and invalidate partial last cache line. */ - if (end & (CACHE_LINE_SIZE - 1)) { + if (start < end && (end & (CACHE_LINE_SIZE - 1))) { xsc3_l2_clean_pa(end & ~(CACHE_LINE_SIZE - 1)); xsc3_l2_inv_pa(end & ~(CACHE_LINE_SIZE - 1)); end &= ~(CACHE_LINE_SIZE - 1); @@ -107,7 +107,7 @@ static void xsc3_l2_inv_range(unsigned long start, unsigned long end) /* * Invalidate all full cache lines between 'start' and 'end'. */ - while (start != end) { + while (start < end) { xsc3_l2_inv_pa(start); start += CACHE_LINE_SIZE; } |