aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kernel/smp.c')
-rw-r--r--arch/mips/kernel/smp.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index 54464fd36198..432f2e376aea 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -407,11 +407,12 @@ void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned l
407 407
408 preempt_disable(); 408 preempt_disable();
409 if ((atomic_read(&mm->mm_users) != 1) || (current->mm != mm)) { 409 if ((atomic_read(&mm->mm_users) != 1) || (current->mm != mm)) {
410 struct flush_tlb_data fd; 410 struct flush_tlb_data fd = {
411 .vma = vma,
412 .addr1 = start,
413 .addr2 = end,
414 };
411 415
412 fd.vma = vma;
413 fd.addr1 = start;
414 fd.addr2 = end;
415 smp_on_other_tlbs(flush_tlb_range_ipi, &fd); 416 smp_on_other_tlbs(flush_tlb_range_ipi, &fd);
416 } else { 417 } else {
417 cpumask_t mask = cpu_online_map; 418 cpumask_t mask = cpu_online_map;
@@ -435,10 +436,11 @@ static void flush_tlb_kernel_range_ipi(void *info)
435 436
436void flush_tlb_kernel_range(unsigned long start, unsigned long end) 437void flush_tlb_kernel_range(unsigned long start, unsigned long end)
437{ 438{
438 struct flush_tlb_data fd; 439 struct flush_tlb_data fd = {
440 .addr1 = start,
441 .addr2 = end,
442 };
439 443
440 fd.addr1 = start;
441 fd.addr2 = end;
442 on_each_cpu(flush_tlb_kernel_range_ipi, &fd, 1, 1); 444 on_each_cpu(flush_tlb_kernel_range_ipi, &fd, 1, 1);
443} 445}
444 446
@@ -453,10 +455,11 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long page)
453{ 455{
454 preempt_disable(); 456 preempt_disable();
455 if ((atomic_read(&vma->vm_mm->mm_users) != 1) || (current->mm != vma->vm_mm)) { 457 if ((atomic_read(&vma->vm_mm->mm_users) != 1) || (current->mm != vma->vm_mm)) {
456 struct flush_tlb_data fd; 458 struct flush_tlb_data fd = {
459 .vma = vma,
460 .addr1 = page,
461 };
457 462
458 fd.vma = vma;
459 fd.addr1 = page;
460 smp_on_other_tlbs(flush_tlb_page_ipi, &fd); 463 smp_on_other_tlbs(flush_tlb_page_ipi, &fd);
461 } else { 464 } else {
462 cpumask_t mask = cpu_online_map; 465 cpumask_t mask = cpu_online_map;