aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/mm/tlb.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-04-24 19:52:18 -0400
committerDavid S. Miller <davem@davemloft.net>2013-04-24 19:52:18 -0400
commitf0af97070acbad5d6a361f485828223a4faaa0ee (patch)
tree3859c8cc2d25c99a547bcb746f67245eca119f68 /arch/sparc/mm/tlb.c
parent60d509fa6a9c4653a86ad830e4c4b30360b23f0e (diff)
sparc64: Fix missing put_cpu_var() in tlb_batch_add_one() when not batching.
Reported-by: Meelis Roos <mroos@linux.ee> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/mm/tlb.c')
-rw-r--r--arch/sparc/mm/tlb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sparc/mm/tlb.c b/arch/sparc/mm/tlb.c
index 272aa4f7657e..83d89bcb44af 100644
--- a/arch/sparc/mm/tlb.c
+++ b/arch/sparc/mm/tlb.c
@@ -87,7 +87,7 @@ static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,
87 if (!tb->active) { 87 if (!tb->active) {
88 global_flush_tlb_page(mm, vaddr); 88 global_flush_tlb_page(mm, vaddr);
89 flush_tsb_user_page(mm, vaddr); 89 flush_tsb_user_page(mm, vaddr);
90 return; 90 goto out;
91 } 91 }
92 92
93 if (nr == 0) 93 if (nr == 0)
@@ -98,6 +98,7 @@ static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr,
98 if (nr >= TLB_BATCH_NR) 98 if (nr >= TLB_BATCH_NR)
99 flush_tlb_pending(); 99 flush_tlb_pending();
100 100
101out:
101 put_cpu_var(tlb_batch); 102 put_cpu_var(tlb_batch);
102} 103}
103 104