diff options
| author | Akinobu Mita <akinobu.mita@gmail.com> | 2010-05-26 17:43:33 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 12:12:48 -0400 |
| commit | 92e99a98bb44ccce6c902ea077b49cafcfb80025 (patch) | |
| tree | f6bc31148c2c9358b775b4eb2219c3fe2ba582f9 /net | |
| parent | eac4068013a067f5fb63005033c13b27fbf6dfca (diff) | |
iucv: convert cpu notifier to return encapsulate errno value
By the previous modification, the cpu notifier can return encapsulate
errno value. This converts the cpu notifiers for iucv.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net')
| -rw-r--r-- | net/iucv/iucv.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/iucv/iucv.c b/net/iucv/iucv.c index fd8b28361a64..f28ad2cc8428 100644 --- a/net/iucv/iucv.c +++ b/net/iucv/iucv.c | |||
| @@ -632,13 +632,14 @@ static int __cpuinit iucv_cpu_notify(struct notifier_block *self, | |||
| 632 | iucv_irq_data[cpu] = kmalloc_node(sizeof(struct iucv_irq_data), | 632 | iucv_irq_data[cpu] = kmalloc_node(sizeof(struct iucv_irq_data), |
| 633 | GFP_KERNEL|GFP_DMA, cpu_to_node(cpu)); | 633 | GFP_KERNEL|GFP_DMA, cpu_to_node(cpu)); |
| 634 | if (!iucv_irq_data[cpu]) | 634 | if (!iucv_irq_data[cpu]) |
| 635 | return NOTIFY_BAD; | 635 | return notifier_from_errno(-ENOMEM); |
| 636 | |||
| 636 | iucv_param[cpu] = kmalloc_node(sizeof(union iucv_param), | 637 | iucv_param[cpu] = kmalloc_node(sizeof(union iucv_param), |
| 637 | GFP_KERNEL|GFP_DMA, cpu_to_node(cpu)); | 638 | GFP_KERNEL|GFP_DMA, cpu_to_node(cpu)); |
| 638 | if (!iucv_param[cpu]) { | 639 | if (!iucv_param[cpu]) { |
| 639 | kfree(iucv_irq_data[cpu]); | 640 | kfree(iucv_irq_data[cpu]); |
| 640 | iucv_irq_data[cpu] = NULL; | 641 | iucv_irq_data[cpu] = NULL; |
| 641 | return NOTIFY_BAD; | 642 | return notifier_from_errno(-ENOMEM); |
| 642 | } | 643 | } |
| 643 | iucv_param_irq[cpu] = kmalloc_node(sizeof(union iucv_param), | 644 | iucv_param_irq[cpu] = kmalloc_node(sizeof(union iucv_param), |
| 644 | GFP_KERNEL|GFP_DMA, cpu_to_node(cpu)); | 645 | GFP_KERNEL|GFP_DMA, cpu_to_node(cpu)); |
| @@ -647,7 +648,7 @@ static int __cpuinit iucv_cpu_notify(struct notifier_block *self, | |||
| 647 | iucv_param[cpu] = NULL; | 648 | iucv_param[cpu] = NULL; |
| 648 | kfree(iucv_irq_data[cpu]); | 649 | kfree(iucv_irq_data[cpu]); |
| 649 | iucv_irq_data[cpu] = NULL; | 650 | iucv_irq_data[cpu] = NULL; |
| 650 | return NOTIFY_BAD; | 651 | return notifier_from_errno(-ENOMEM); |
| 651 | } | 652 | } |
| 652 | break; | 653 | break; |
| 653 | case CPU_UP_CANCELED: | 654 | case CPU_UP_CANCELED: |
| @@ -677,7 +678,7 @@ static int __cpuinit iucv_cpu_notify(struct notifier_block *self, | |||
| 677 | cpu_clear(cpu, cpumask); | 678 | cpu_clear(cpu, cpumask); |
| 678 | if (cpus_empty(cpumask)) | 679 | if (cpus_empty(cpumask)) |
| 679 | /* Can't offline last IUCV enabled cpu. */ | 680 | /* Can't offline last IUCV enabled cpu. */ |
| 680 | return NOTIFY_BAD; | 681 | return notifier_from_errno(-EINVAL); |
| 681 | smp_call_function_single(cpu, iucv_retrieve_cpu, NULL, 1); | 682 | smp_call_function_single(cpu, iucv_retrieve_cpu, NULL, 1); |
| 682 | if (cpus_empty(iucv_irq_cpumask)) | 683 | if (cpus_empty(iucv_irq_cpumask)) |
| 683 | smp_call_function_single(first_cpu(iucv_buffer_cpumask), | 684 | smp_call_function_single(first_cpu(iucv_buffer_cpumask), |
