The following commit has been merged into the timers/clocksource branch of tip:
Commit-ID: fed9f727cc3f91dde8278961269419083502b40e
Gitweb: https://git.kernel.org/tip/fed9f727cc3f91dde8278961269419083502b40e
Author: Chen Ni <nichen@iscas.ac.cn>
AuthorDate: Thu, 05 Feb 2026 16:40:37 +08:00
Committer: Daniel Lezcano <daniel.lezcano@kernel.org>
CommitterDate: Tue, 24 Mar 2026 18:30:44 +01:00
clocksource/drivers/sun5i: Handle error returns from devm_reset_control_get_optional_exclusive()
The devm_reset_control_get_optional_exclusive() function may return an
ERR_PTR in case of genuine reset control acquisition errors, not just
NULL which indicates the legitimate absence of an optional reset.
Add an IS_ERR() check after the call in sun5i_timer_probe(). On error,
return the error code to ensure proper failure handling rather than
proceeding with invalid pointers.
Fixes: 7e5bac610d2f ("clocksource/drivers/sun5i: Convert to platform device driver")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org>
Acked-by: Chen-Yu Tsai <wens@kernel.org>
Link: https://patch.msgid.link/20260205084037.3661261-1-nichen@iscas.ac.cn
---
drivers/clocksource/timer-sun5i.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/clocksource/timer-sun5i.c b/drivers/clocksource/timer-sun5i.c
index f827d3f..d7e0129 100644
--- a/drivers/clocksource/timer-sun5i.c
+++ b/drivers/clocksource/timer-sun5i.c
@@ -286,6 +286,9 @@ static int sun5i_timer_probe(struct platform_device *pdev)
}
rstc = devm_reset_control_get_optional_exclusive(dev, NULL);
+ if (IS_ERR(rstc))
+ return dev_err_probe(dev, PTR_ERR(rstc),
+ "failed to get reset\n");
if (rstc)
reset_control_deassert(rstc);