Re: [PATCH] bus: ti-sysc: Fix gpt12 system timer issue with reserved status
From: Pavel Machek <hidden>
Date: 2021-08-10 12:40:21
Also in:
linux-omap, lkml
From: Pavel Machek <hidden>
Date: 2021-08-10 12:40:21
Also in:
linux-omap, lkml
Hi! I noticed the issue while reviewing stable kernels, as this is being backported.
Jarkko Nikula [off-list ref] 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