Re: [PATCH] bus: ti-sysc: Fix error handling for sysc_check_active_timer() again

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Fri, 22 Dec 2023 17:37:10 +0100
Romain Naour <romain.naour@xxxxxxxx> wrote:

> 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 failed with error -16 (timer1_target)
> ti-sysc: probe of failed with error -16 (timer15_target)
> ti-sysc: probe of failed with error -16 (timer6_target)
> Fix this by checking for both error code...
Well, fix what? As long as -EBUSY comes form sysc_check_active_timer(), there
is no problem besides the noise. So clearly state what you want to fix,
so is it only the noise.
Of course I would also like the noise to be gone. I also stumbled across this.
Bringing this to discussion is of course good.

Changing it to -ENXIO has side effects as more lines are executed and the
device is touched although it might be already in use by dmtimer_systimer.

As far as I understand things: there are broken timers, timers used by clocksource
and timers generally useable. And we return -ENXIO for the broken ones... The
main issue here is that this needs more documentation/comments.
I might of course be wrong...


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux