s390: convert cpu notifier to return encapsulate errno value
authorAkinobu Mita <akinobu.mita@gmail.com>
Wed, 26 May 2010 21:43:34 +0000 (14:43 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 27 May 2010 16:12:48 +0000 (09:12 -0700)
By the previous modification, the cpu notifier can return encapsulate
errno value.  This converts the cpu notifiers for s390.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/s390/kernel/smp.c

index e4d98de83dd8393586118ec7ee760d4907385c05..541053ed234ea1c0cd8a893de5bf16c9c30d9022 100644 (file)
@@ -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 = {