diff options
author | Felipe Balbi <balbi@ti.com> | 2015-01-19 09:57:20 -0600 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2015-01-19 09:57:20 -0600 |
commit | d1fc4440d761af47fd0c32661725011bf66ebb51 (patch) | |
tree | d2fdfe049eac9b45a9418bd1be103297b1c0c55e /mm/memory.c | |
parent | fe198e34a44ce7f27e39c303d62a754129938194 (diff) | |
parent | ec6f34e5b552fb0a52e6aae1a5afbbb1605cc6cc (diff) |
Merge tag 'v3.19-rc5' into next
Linux 3.19-rc5
Conflicts:
drivers/usb/dwc2/gadget.c
drivers/usb/gadget/udc/bdc/bdc_ep.c
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mm/memory.c b/mm/memory.c index c6565f00fb38..54f3a9b00956 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -235,6 +235,9 @@ void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long static void tlb_flush_mmu_tlbonly(struct mmu_gather *tlb) { + if (!tlb->end) + return; + tlb_flush(tlb); mmu_notifier_invalidate_range(tlb->mm, tlb->start, tlb->end); #ifdef CONFIG_HAVE_RCU_TABLE_FREE @@ -247,7 +250,7 @@ static void tlb_flush_mmu_free(struct mmu_gather *tlb) { struct mmu_gather_batch *batch; - for (batch = &tlb->local; batch; batch = batch->next) { + for (batch = &tlb->local; batch && batch->nr; batch = batch->next) { free_pages_and_swap_cache(batch->pages, batch->nr); batch->nr = 0; } @@ -256,9 +259,6 @@ static void tlb_flush_mmu_free(struct mmu_gather *tlb) void tlb_flush_mmu(struct mmu_gather *tlb) { - if (!tlb->end) - return; - tlb_flush_mmu_tlbonly(tlb); tlb_flush_mmu_free(tlb); } |