summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-04-24 17:10:18 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2013-04-24 17:10:18 -0700
commit0fbd06761f5c17cc9b20e02af60fd7ee9c895996 (patch)
tree9642628d96e56874783f6cd763bfdf36241ce733 /arch
parent3c71d03a28ce653708a9a6dadc5536bf49cbc5fc (diff)
parentf0af97070acbad5d6a361f485828223a4faaa0ee (diff)
downloadlinux-0fbd06761f5c17cc9b20e02af60fd7ee9c895996.tar.bz2
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc
Pull sparc fix from David Miller: "Brown paper bag fix for sparc64" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: Fix missing put_cpu_var() in tlb_batch_add_one() when not batching.
Diffstat (limited to 'arch')
-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,
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);
}