hwmon: (nct6683) Fix probe unwind paths to properly unregister platform devices

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>
This commit is contained in:
Axel Lin 2014-05-24 23:04:22 +08:00 committed by Guenter Roeck
parent e8cba3cda4
commit 30190c3c61
1 changed files with 5 additions and 3 deletions

View File

@ -1389,7 +1389,7 @@ static int __init sensors_nct6683_init(void)
pdev[i] = platform_device_alloc(DRVNAME, address); pdev[i] = platform_device_alloc(DRVNAME, address);
if (!pdev[i]) { if (!pdev[i]) {
err = -ENOMEM; err = -ENOMEM;
goto exit_device_put; goto exit_device_unregister;
} }
err = platform_device_add_data(pdev[i], &sio_data, err = platform_device_add_data(pdev[i], &sio_data,
@ -1427,9 +1427,11 @@ static int __init sensors_nct6683_init(void)
return 0; return 0;
exit_device_put: 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]) if (pdev[i])
platform_device_put(pdev[i]); platform_device_unregister(pdev[i]);
} }
exit_unregister: exit_unregister:
platform_driver_unregister(&nct6683_driver); platform_driver_unregister(&nct6683_driver);