summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandre Belloni <alexandre.belloni@bootlin.com>2018-02-12 23:47:53 +0100
committerAlexandre Belloni <alexandre.belloni@bootlin.com>2018-03-01 10:49:32 +0100
commit8d3e6b55cedaeadd1216d4b548f346c169099f1f (patch)
treeb0201f1abc665e6de167746fd333b111b35872d7
parentrtc: stk17ta8: switch to rtc_register_device (diff)
downloadlinux-8d3e6b55cedaeadd1216d4b548f346c169099f1f.tar.xz
linux-8d3e6b55cedaeadd1216d4b548f346c169099f1f.zip
rtc: stk17ta8: fix possible race condition
The probe function is not allowed to fail after registering the RTC. Call rtc_register_device() at the end. Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-rw-r--r--drivers/rtc/rtc-stk17ta8.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
index f936accf622f..1d6febbe7d39 100644
--- a/drivers/rtc/rtc-stk17ta8.c
+++ b/drivers/rtc/rtc-stk17ta8.c
@@ -334,11 +334,11 @@ static int stk17ta8_rtc_probe(struct platform_device *pdev)
pdata->rtc->ops = &stk17ta8_rtc_ops;
- ret = rtc_register_device(pdata->rtc);
+ ret = sysfs_create_bin_file(&pdev->dev.kobj, &stk17ta8_nvram_attr);
if (ret)
return ret;
- ret = sysfs_create_bin_file(&pdev->dev.kobj, &stk17ta8_nvram_attr);
+ ret = rtc_register_device(pdata->rtc);
return ret;
}