|
@@ -944,21 +944,21 @@ static int __cpuinit smp_cpu_notify(struct notifier_block *self,
|
|
|
struct cpu *c = &per_cpu(cpu_devices, cpu);
|
|
|
struct sys_device *s = &c->sysdev;
|
|
|
struct s390_idle_data *idle;
|
|
|
+ int err = 0;
|
|
|
|
|
|
switch (action) {
|
|
|
case CPU_ONLINE:
|
|
|
case CPU_ONLINE_FROZEN:
|
|
|
idle = &per_cpu(s390_idle, cpu);
|
|
|
memset(idle, 0, sizeof(struct s390_idle_data));
|
|
|
- if (sysfs_create_group(&s->kobj, &cpu_online_attr_group))
|
|
|
- return NOTIFY_BAD;
|
|
|
+ err = sysfs_create_group(&s->kobj, &cpu_online_attr_group);
|
|
|
break;
|
|
|
case CPU_DEAD:
|
|
|
case CPU_DEAD_FROZEN:
|
|
|
sysfs_remove_group(&s->kobj, &cpu_online_attr_group);
|
|
|
break;
|
|
|
}
|
|
|
- return NOTIFY_OK;
|
|
|
+ return notifier_from_errno(err);
|
|
|
}
|
|
|
|
|
|
static struct notifier_block __cpuinitdata smp_cpu_nb = {
|