diff options
Diffstat (limited to 'arch/s390/kernel/smp.c')
-rw-r--r-- | arch/s390/kernel/smp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index e4d98de83dd8..541053ed234e 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -944,21 +944,21 @@ static int __cpuinit smp_cpu_notify(struct notifier_block *self, | |||
944 | struct cpu *c = &per_cpu(cpu_devices, cpu); | 944 | struct cpu *c = &per_cpu(cpu_devices, cpu); |
945 | struct sys_device *s = &c->sysdev; | 945 | struct sys_device *s = &c->sysdev; |
946 | struct s390_idle_data *idle; | 946 | struct s390_idle_data *idle; |
947 | int err = 0; | ||
947 | 948 | ||
948 | switch (action) { | 949 | switch (action) { |
949 | case CPU_ONLINE: | 950 | case CPU_ONLINE: |
950 | case CPU_ONLINE_FROZEN: | 951 | case CPU_ONLINE_FROZEN: |
951 | idle = &per_cpu(s390_idle, cpu); | 952 | idle = &per_cpu(s390_idle, cpu); |
952 | memset(idle, 0, sizeof(struct s390_idle_data)); | 953 | memset(idle, 0, sizeof(struct s390_idle_data)); |
953 | if (sysfs_create_group(&s->kobj, &cpu_online_attr_group)) | 954 | err = sysfs_create_group(&s->kobj, &cpu_online_attr_group); |
954 | return NOTIFY_BAD; | ||
955 | break; | 955 | break; |
956 | case CPU_DEAD: | 956 | case CPU_DEAD: |
957 | case CPU_DEAD_FROZEN: | 957 | case CPU_DEAD_FROZEN: |
958 | sysfs_remove_group(&s->kobj, &cpu_online_attr_group); | 958 | sysfs_remove_group(&s->kobj, &cpu_online_attr_group); |
959 | break; | 959 | break; |
960 | } | 960 | } |
961 | return NOTIFY_OK; | 961 | return notifier_from_errno(err); |
962 | } | 962 | } |
963 | 963 | ||
964 | static struct notifier_block __cpuinitdata smp_cpu_nb = { | 964 | static struct notifier_block __cpuinitdata smp_cpu_nb = { |