device_register() may fail, use put_device() giving up the refconut to avoid refcount leak.
Signed-off-by: Yangtao Li <tiny.win...@gmail.com> --- kernel/time/clocksource.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c index 3bcc19ceb073..0a830fedc7ef 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -1183,8 +1183,11 @@ static int __init init_clocksource_sysfs(void) { int error = subsys_system_register(&clocksource_subsys, NULL); - if (!error) + if (!error) { error = device_register(&device_clocksource); + if (error) + put_device(&device_clocksource); + } return error; } -- 2.17.0