x86, mce: Call put_device on device_register failure
authorLevente Kurusa <levex@linux.com>
Fri, 29 Nov 2013 20:28:48 +0000 (21:28 +0100)
committerBorislav Petkov <bp@suse.de>
Sat, 30 Nov 2013 11:14:51 +0000 (12:14 +0100)
This patch adds a call to put_device() when the device_register() call
has failed. This is required so that the last reference to the device is
given up.

Signed-off-by: Levente Kurusa <levex@linux.com>
Link: http://lkml.kernel.org/r/5298F900.9000208@linux.com
Signed-off-by: Borislav Petkov <bp@suse.de>
arch/x86/kernel/cpu/mcheck/mce.c

index b3218cdee95f43a14ce2681e8a339e2cca28bcaa..a389c1d859ec968608367ef06f9583a79f47f951 100644 (file)
@@ -2272,8 +2272,10 @@ static int mce_device_create(unsigned int cpu)
        dev->release = &mce_device_release;
 
        err = device_register(dev);
-       if (err)
+       if (err) {
+               put_device(dev);
                return err;
+       }
 
        for (i = 0; mce_device_attrs[i]; i++) {
                err = device_create_file(dev, mce_device_attrs[i]);