diff options
Diffstat (limited to 'arch/sparc/mm')
-rw-r--r-- | arch/sparc/mm/init_64.c | 9 | ||||
-rw-r--r-- | arch/sparc/mm/tlb.c | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index a7171997adfd..04fd55a6e461 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c | |||
@@ -1098,7 +1098,14 @@ static int __init grab_mblocks(struct mdesc_handle *md) | |||
1098 | m->size = *val; | 1098 | m->size = *val; |
1099 | val = mdesc_get_property(md, node, | 1099 | val = mdesc_get_property(md, node, |
1100 | "address-congruence-offset", NULL); | 1100 | "address-congruence-offset", NULL); |
1101 | m->offset = *val; | 1101 | |
1102 | /* The address-congruence-offset property is optional. | ||
1103 | * Explicity zero it be identifty this. | ||
1104 | */ | ||
1105 | if (val) | ||
1106 | m->offset = *val; | ||
1107 | else | ||
1108 | m->offset = 0UL; | ||
1102 | 1109 | ||
1103 | numadbg("MBLOCK[%d]: base[%llx] size[%llx] offset[%llx]\n", | 1110 | numadbg("MBLOCK[%d]: base[%llx] size[%llx] offset[%llx]\n", |
1104 | count - 1, m->base, m->size, m->offset); | 1111 | count - 1, m->base, m->size, m->offset); |
diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c index f828dd33551c..7a91f288c708 100644 --- a/arch/sparc/mm/tlb.c +++ b/arch/sparc/mm/tlb.c | |||
@@ -85,8 +85,8 @@ static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr, | |||
85 | } | 85 | } |
86 | 86 | ||
87 | if (!tb->active) { | 87 | if (!tb->active) { |
88 | global_flush_tlb_page(mm, vaddr); | ||
89 | flush_tsb_user_page(mm, vaddr); | 88 | flush_tsb_user_page(mm, vaddr); |
89 | global_flush_tlb_page(mm, vaddr); | ||
90 | goto out; | 90 | goto out; |
91 | } | 91 | } |
92 | 92 | ||