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)

[akpm@linux-foundation.org: improve label naming]
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Wei Yongjun 2012-12-17 16:02:27 -08:00 committed by Linus Torvalds
parent 0d7ecb8389
commit 942bfb3ed0
1 changed files with 7 additions and 7 deletions

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: