rtc: isl1208: switch to rtc_register_device
Fix possible race condition. It is not allowed to return with an error code after RTC is registered. Suggested-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Denis Osterland <Denis.Osterland@diehl.com> Reviewed-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
9d327c2d92
commit
236b718703
|
@ -635,12 +635,12 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
|||
if (isl1208_i2c_validate_client(client) < 0)
|
||||
return -ENODEV;
|
||||
|
||||
rtc = devm_rtc_device_register(&client->dev, isl1208_driver.driver.name,
|
||||
&isl1208_rtc_ops,
|
||||
THIS_MODULE);
|
||||
rtc = devm_rtc_allocate_device(&client->dev);
|
||||
if (IS_ERR(rtc))
|
||||
return PTR_ERR(rtc);
|
||||
|
||||
rtc->ops = &isl1208_rtc_ops;
|
||||
|
||||
i2c_set_clientdata(client, rtc);
|
||||
|
||||
rc = isl1208_i2c_get_sr(client);
|
||||
|
@ -674,7 +674,7 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
|
|||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
return rtc_register_device(rtc);
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
Loading…
Reference in a new issue