[PATCH] bus: ti-sysc: Fix gpt12 system timer issue with reserved status

Pavel Machek pavel at denx.de
Tue Aug 10 05:40:07 PDT 2021


Hi!

I noticed the issue while reviewing stable kernels, as this is being
backported.

> Jarkko Nikula <jarkko.nikula at bitmer.com> reported that Beagleboard
> revision c2 stopped booting. Jarkko bisected the issue down to
> commit 6cfcd5563b4f ("clocksource/drivers/timer-ti-dm: Fix suspend
> and resume for am3 and am4").
> 
> Let's fix the issue by tagging system timers as reserved rather than
> ignoring them. And let's not probe any interconnect target module child
> devices for reserved modules.

+++ b/drivers/bus/ti-sysc.c
> @@ -3093,8 +3095,8 @@ static int sysc_probe(struct platform_device *pdev)
>  		return error;
>  
>  	error = sysc_check_active_timer(ddata);
> -	if (error)
> -		return error;
> +	if (error == -EBUSY)
> +		ddata->reserved = true;
>  
>  	error = sysc_get_clocks(ddata);
>  	if (error)

What is going on here? First, we silently ignore errors other than
EBUSY. Second, sysc_check_active_timer() can't return -EBUSY: it
returns either 0 or -ENXIO. (I checked 5.10-stable, mainline and
-next-20210806).

Best regards,
								Pavel
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210810/c427f791/attachment-0001.sig>


More information about the linux-arm-kernel mailing list