hwmon: (nct6683) Fix probe unwind paths to properly unregister platform devices
authorAxel Lin <axel.lin@ingics.com>
Sat, 24 May 2014 15:04:22 +0000 (23:04 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Sat, 24 May 2014 15:28:24 +0000 (08:28 -0700)
Call platform_device_unregister() rather than platform_device_put() to
unregister successfully registered platform devices.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/nct6683.c

index 540c81c523443f62797dbc741f3a44b751ded74b..7710f4694ba15408366c4aebf37035b63acee045 100644 (file)
@@ -1389,7 +1389,7 @@ static int __init sensors_nct6683_init(void)
                pdev[i] = platform_device_alloc(DRVNAME, address);
                if (!pdev[i]) {
                        err = -ENOMEM;
-                       goto exit_device_put;
+                       goto exit_device_unregister;
                }
 
                err = platform_device_add_data(pdev[i], &sio_data,
@@ -1427,9 +1427,11 @@ static int __init sensors_nct6683_init(void)
        return 0;
 
 exit_device_put:
-       for (i = 0; i < ARRAY_SIZE(pdev); i++) {
+       platform_device_put(pdev[i]);
+exit_device_unregister:
+       while (--i >= 0) {
                if (pdev[i])
-                       platform_device_put(pdev[i]);
+                       platform_device_unregister(pdev[i]);
        }
 exit_unregister:
        platform_driver_unregister(&nct6683_driver);
This page took 0.025753 seconds and 5 git commands to generate.