sparc64: Fix missing put_cpu_var() in tlb_batch_add_one() when not batching.
authorDavid S. Miller <davem@davemloft.net>
Wed, 24 Apr 2013 23:52:18 +0000 (16:52 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Apr 2013 23:52:18 +0000 (16:52 -0700)
Reported-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/mm/tlb.c

index 272aa4f7657e2c3bbba5772809e8798c657a32c8..83d89bcb44afcace24b757b02ce5305c1e762afe 100644 (file)
@@ -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);
 }