x86, mce: fix error path in mce_create_device()
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Thu, 18 Jun 2009 05:53:24 +0000 (14:53 +0900)
committerH. Peter Anvin <hpa@zytor.com>
Thu, 18 Jun 2009 14:02:32 +0000 (07:02 -0700)
Don't skip removing mce_attrs in route from error2.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Huang Ying <ying.huang@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
arch/x86/kernel/cpu/mcheck/mce.c

index c2fb70d..284d1de 100644 (file)
@@ -1798,7 +1798,7 @@ static cpumask_var_t mce_dev_initialized;
 static __cpuinit int mce_create_device(unsigned int cpu)
 {
        int err;
-       int i;
+       int i, j;
 
        if (!mce_available(&boot_cpu_data))
                return -EIO;
@@ -1816,9 +1816,9 @@ static __cpuinit int mce_create_device(unsigned int cpu)
                if (err)
                        goto error;
        }
-       for (i = 0; i < banks; i++) {
+       for (j = 0; j < banks; j++) {
                err = sysdev_create_file(&per_cpu(mce_dev, cpu),
-                                       &bank_attrs[i]);
+                                       &bank_attrs[j]);
                if (err)
                        goto error2;
        }
@@ -1826,8 +1826,8 @@ static __cpuinit int mce_create_device(unsigned int cpu)
 
        return 0;
 error2:
-       while (--i >= 0)
-               sysdev_remove_file(&per_cpu(mce_dev, cpu), &bank_attrs[i]);
+       while (--j >= 0)
+               sysdev_remove_file(&per_cpu(mce_dev, cpu), &bank_attrs[j]);
 error:
        while (--i >= 0)
                sysdev_remove_file(&per_cpu(mce_dev, cpu), mce_attrs[i]);