[PATCH] bus: ti-sysc: Fix warnings for unbind for serial

Romain Naour romain.naour at smile.fr
Fri May 13 01:23:51 PDT 2022


Hello,

Le 12/05/2022 à 07:30, Tony Lindgren a écrit :
> We can get "failed to disable" clock_unprepare warnings on unbind at least
> for the serial console device if the unbind is done before the device has
> been idled.
> 
> As some devices are using deferred idle, we must check the status for
> pending idle work to idle the device.

I didn't noticed the "failed to disable" warning so far (kernel 5.10.106 from
ti-linux-kernel repository) but I applied this patch as suggested [1] while
investigating another issue "tty serial 8250 omap driver crash".

Reviewed-by: Romain Naour <romain.naour at smile.fr>

[1] https://marc.info/?l=linux-omap&m=164484408319083&w=2

Best regards,
Romain


> 
> Cc: Romain Naour <romain.naour at smile.fr>
> Fixes: 76f0f772e469 ("bus: ti-sysc: Improve handling for no-reset-on-init and no-idle-on-init")
> Signed-off-by: Tony Lindgren <tony at atomide.com>
> ---
>  drivers/bus/ti-sysc.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
> --- a/drivers/bus/ti-sysc.c
> +++ b/drivers/bus/ti-sysc.c
> @@ -3395,7 +3395,9 @@ static int sysc_remove(struct platform_device *pdev)
>  	struct sysc *ddata = platform_get_drvdata(pdev);
>  	int error;
>  
> -	cancel_delayed_work_sync(&ddata->idle_work);
> +	/* Device can still be enabled, see deferred idle quirk in probe */
> +	if (cancel_delayed_work_sync(&ddata->idle_work))
> +		ti_sysc_idle(&ddata->idle_work.work);
>  
>  	error = pm_runtime_resume_and_get(ddata->dev);
>  	if (error < 0) {




More information about the linux-arm-kernel mailing list