drivers/rtc/rtc-test.c: avoid calling platform_device_put() twice

In case of error, test_init() needs to call platform_device_del() instead
of platform_device_unregister().  Otherwise, we may call
platform_device_put() twice.

dpatch engine is used to auto generate this patch.
(https://github.com/weiyj/dpatch)

[[email protected]: improve label naming]
Signed-off-by: Wei Yongjun <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
Wei Yongjun 2012-12-17 16:02:27 -08:00 • committed by Linus Torvalds
commit 942bfb3ed0

View file

@ -152,24 +152,24 @@ static int __init test_init(void)
if ((test1 = platform_device_alloc("rtc-test", 1)) == NULL) {
err = -ENOMEM;
goto exit_free_test0;
goto exit_put_test0;
}
if ((err = platform_device_add(test0)))
goto exit_free_test1;
goto exit_put_test1;
if ((err = platform_device_add(test1)))
goto exit_device_unregister;
goto exit_del_test0;
return 0;
exit_device_unregister:
platform_device_unregister(test0);
exit_del_test0:
platform_device_del(test0);
exit_free_test1:
exit_put_test1:
platform_device_put(test1);
exit_free_test0:
exit_put_test0:
platform_device_put(test0);
exit_driver_unregister: