diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/core/dev.c | 2 | ||||
-rw-r--r-- | net/core/flow.c | 2 | ||||
-rw-r--r-- | net/iucv/iucv.c | 6 |
3 files changed, 8 insertions, 2 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 4317c1be4d3f..8301e2ac747f 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -3450,7 +3450,7 @@ static int dev_cpu_callback(struct notifier_block *nfb, | |||
3450 | unsigned int cpu, oldcpu = (unsigned long)ocpu; | 3450 | unsigned int cpu, oldcpu = (unsigned long)ocpu; |
3451 | struct softnet_data *sd, *oldsd; | 3451 | struct softnet_data *sd, *oldsd; |
3452 | 3452 | ||
3453 | if (action != CPU_DEAD) | 3453 | if (action != CPU_DEAD && action != CPU_DEAD_FROZEN) |
3454 | return NOTIFY_OK; | 3454 | return NOTIFY_OK; |
3455 | 3455 | ||
3456 | local_irq_disable(); | 3456 | local_irq_disable(); |
diff --git a/net/core/flow.c b/net/core/flow.c index 5d25697920b1..051430545a05 100644 --- a/net/core/flow.c +++ b/net/core/flow.c | |||
@@ -338,7 +338,7 @@ static int flow_cache_cpu(struct notifier_block *nfb, | |||
338 | unsigned long action, | 338 | unsigned long action, |
339 | void *hcpu) | 339 | void *hcpu) |
340 | { | 340 | { |
341 | if (action == CPU_DEAD) | 341 | if (action == CPU_DEAD || action == CPU_DEAD_FROZEN) |
342 | __flow_cache_shrink((unsigned long)hcpu, 0); | 342 | __flow_cache_shrink((unsigned long)hcpu, 0); |
343 | return NOTIFY_OK; | 343 | return NOTIFY_OK; |
344 | } | 344 | } |
diff --git a/net/iucv/iucv.c b/net/iucv/iucv.c index fb3faf72e850..b7333061016d 100644 --- a/net/iucv/iucv.c +++ b/net/iucv/iucv.c | |||
@@ -556,6 +556,7 @@ static int __cpuinit iucv_cpu_notify(struct notifier_block *self, | |||
556 | 556 | ||
557 | switch (action) { | 557 | switch (action) { |
558 | case CPU_UP_PREPARE: | 558 | case CPU_UP_PREPARE: |
559 | case CPU_UP_PREPARE_FROZEN: | ||
559 | if (!percpu_populate(iucv_irq_data, | 560 | if (!percpu_populate(iucv_irq_data, |
560 | sizeof(struct iucv_irq_data), | 561 | sizeof(struct iucv_irq_data), |
561 | GFP_KERNEL|GFP_DMA, cpu)) | 562 | GFP_KERNEL|GFP_DMA, cpu)) |
@@ -567,15 +568,20 @@ static int __cpuinit iucv_cpu_notify(struct notifier_block *self, | |||
567 | } | 568 | } |
568 | break; | 569 | break; |
569 | case CPU_UP_CANCELED: | 570 | case CPU_UP_CANCELED: |
571 | case CPU_UP_CANCELED_FROZEN: | ||
570 | case CPU_DEAD: | 572 | case CPU_DEAD: |
573 | case CPU_DEAD_FROZEN: | ||
571 | percpu_depopulate(iucv_param, cpu); | 574 | percpu_depopulate(iucv_param, cpu); |
572 | percpu_depopulate(iucv_irq_data, cpu); | 575 | percpu_depopulate(iucv_irq_data, cpu); |
573 | break; | 576 | break; |
574 | case CPU_ONLINE: | 577 | case CPU_ONLINE: |
578 | case CPU_ONLINE_FROZEN: | ||
575 | case CPU_DOWN_FAILED: | 579 | case CPU_DOWN_FAILED: |
580 | case CPU_DOWN_FAILED_FROZEN: | ||
576 | smp_call_function_on(iucv_declare_cpu, NULL, 0, 1, cpu); | 581 | smp_call_function_on(iucv_declare_cpu, NULL, 0, 1, cpu); |
577 | break; | 582 | break; |
578 | case CPU_DOWN_PREPARE: | 583 | case CPU_DOWN_PREPARE: |
584 | case CPU_DOWN_PREPARE_FROZEN: | ||
579 | cpumask = iucv_buffer_cpumask; | 585 | cpumask = iucv_buffer_cpumask; |
580 | cpu_clear(cpu, cpumask); | 586 | cpu_clear(cpu, cpumask); |
581 | if (cpus_empty(cpumask)) | 587 | if (cpus_empty(cpumask)) |