aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2010-04-25 12:29:07 -0400
committerMatt Fleming <matt@console-pimps.org>2010-04-25 15:44:23 -0400
commitc7b03fa0bdc04e00bfbdc4cc69da144b11108f37 (patch)
tree1dab19213c06e87818faef6badd7eb101877be2e /arch/sh/mm
parent9c3d936352fefaadec57bafda1fe3807890cbf2c (diff)
sh: Do not try merging two 128MB PMB mappings
There is a logic error in pmb_merge() that means we will incorrectly try to merge two 128MB PMB mappings into one mapping. However, 256MB isn't a valid PMB map size and pmb_merge() will actually drop the second 128MB mapping. This patch allows my SDK7786 board to boot when configured with CONFIG_MEMORY_SIZE=0x10000000. Signed-off-by: Matt Fleming <matt@console-pimps.org>
Diffstat (limited to 'arch/sh/mm')
-rw-r--r--arch/sh/mm/pmb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c
index 3cc21933063b..c0fdc217ece5 100644
--- a/arch/sh/mm/pmb.c
+++ b/arch/sh/mm/pmb.c
@@ -681,7 +681,7 @@ static void __init pmb_merge(struct pmb_entry *head)
681 /* 681 /*
682 * The merged page size must be valid. 682 * The merged page size must be valid.
683 */ 683 */
684 if (!pmb_size_valid(newsize)) 684 if (!depth || !pmb_size_valid(newsize))
685 return; 685 return;
686 686
687 head->flags &= ~PMB_SZ_MASK; 687 head->flags &= ~PMB_SZ_MASK;