diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-24 20:10:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-24 20:10:18 -0400 |
commit | 0fbd06761f5c17cc9b20e02af60fd7ee9c895996 (patch) | |
tree | 9642628d96e56874783f6cd763bfdf36241ce733 | |
parent | 3c71d03a28ce653708a9a6dadc5536bf49cbc5fc (diff) | |
parent | f0af97070acbad5d6a361f485828223a4faaa0ee (diff) |
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.
-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, | |||
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 | ||
101 | out: | ||
101 | put_cpu_var(tlb_batch); | 102 | put_cpu_var(tlb_batch); |
102 | } | 103 | } |
103 | 104 | ||