From: Romain Naour <romain.naour@xxxxxxx> sysc_check_active_timer() has been introduced by 6cfcd5563b4f ("clocksource/drivers/timer-ti-dm: Fix suspend and resume for am3 and am4") and initially returned -EBUSY to ignore timers tagged with no-reset and no-idle. But the return code has been updated from -EBUSY to -ENXIO by 65fb73676112 ("bus: ti-sysc: suppress err msg for timers used as clockevent/source") and introduced a regression fixed by 06a089ef6449 ("bus: ti-sysc: Fix error handling for sysc_check_active_timer()") since sysc_probe() was still checking for -EBUSY. Finally the sysc_check_active_timer() return code was reverted back to -EBUSY by a12315d6d270 ("bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific") except for SOC_3430. Now sysc_check_active_timer() may return ENXIO for SOC_3430 and EBUSY for all other SoC. But sysc_probe() still check for -ENXIO leading to the following errors in dmesg on AM57xx: ti-sysc: probe of 4ae18000.target-module failed with error -16 (timer1_target) ti-sysc: probe of 4882c000.target-module failed with error -16 (timer15_target) ti-sysc: probe of 4882e000.target-module failed with error -16 (timer6_target) Fix this by checking for both error code... Signed-off-by: Romain Naour <romain.naour@xxxxxxx> --- drivers/bus/ti-sysc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index d57bc066dce6..0c6d5e3d5dc7 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -3314,7 +3314,7 @@ static int sysc_probe(struct platform_device *pdev) return error; error = sysc_check_active_timer(ddata); - if (error == -ENXIO) + if ((error == -ENXIO) || (error == -EBUSY)) ddata->reserved = true; else if (error) return error; -- 2.43.0