summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChen Ni <nichen@iscas.ac.cn>2026-02-05 11:40:37 +0300
committerDaniel Lezcano <daniel.lezcano@kernel.org>2026-03-24 20:30:44 +0300
commitfed9f727cc3f91dde8278961269419083502b40e (patch)
treeda624c27201369c4266c654f9d0e3afbfaf1f42e
parent045a9dac7eb74ce07160d7715b6629c83f3d92c0 (diff)
downloadlinux-fed9f727cc3f91dde8278961269419083502b40e.tar.xz
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
-rw-r--r--drivers/clocksource/timer-sun5i.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/clocksource/timer-sun5i.c b/drivers/clocksource/timer-sun5i.c
index f827d3f98f60..d7e012992170 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);