diff options
author | David S. Miller <davem@davemloft.net> | 2013-04-24 16:52:18 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-24 16:52:18 -0700 |
commit | f0af97070acbad5d6a361f485828223a4faaa0ee (patch) | |
tree | 3859c8cc2d25c99a547bcb746f67245eca119f68 /arch/sparc/mm | |
parent | 60d509fa6a9c4653a86ad830e4c4b30360b23f0e (diff) | |
download | linux-f0af97070acbad5d6a361f485828223a4faaa0ee.tar.gz linux-f0af97070acbad5d6a361f485828223a4faaa0ee.tar.bz2 linux-f0af97070acbad5d6a361f485828223a4faaa0ee.zip |
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')
-rw-r--r-- | arch/sparc/mm/tlb.c | 3 |
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, if (!tb->active) { global_flush_tlb_page(mm, vaddr); flush_tsb_user_page(mm, vaddr); - return; + goto out; } if (nr == 0) @@ -98,6 +98,7 @@ static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr, if (nr >= TLB_BATCH_NR) flush_tlb_pending(); +out: put_cpu_var(tlb_batch); } |