[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aCL3yx_z61IpGgw0@kuha.fi.intel.com>
Date: Tue, 13 May 2025 10:42:03 +0300
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: "Rafael J. Wysocki" <rjw@...ysocki.net>
Cc: Linux PM <linux-pm@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Jon Hunter <jonathanh@...dia.com>,
Saravana Kannan <saravanak@...gle.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-usb@...r.kernel.org
Subject: Re: [PATCH v1] ucsi_ccg: Disable async suspend in ucsi_ccg_probe()
On Mon, May 12, 2025 at 03:26:53PM +0200, Rafael J. Wysocki wrote:
> From: Jon Hunter <jonathanh@...dia.com>
>
> Commit aa7a9275ab81 ("PM: sleep: Suspend async parents after suspending
> children") had triggered a suspend issue on Tegra boards because it had
> reordered the syspend of devices with async suspend enabled with respect
> to some other devices. Specifically, the devices with async suspend
> enabled that have no children are now suspended before any other devices
> unless there are device links pointing to them as suppliers.
>
> The investigation that followed the failure report uncovered that async
> suspend was enabled for the cypd4226 device that was a Type-C controller
> with a dependency on USB PHY and it turned out that disabling async
> suspend for that device made the issue go away. Since async suspend
> takes dependencies between parents and children into account as well
> as other dependencies between devices represented by device links, this
> means that the cypd4226 has a dependency on another device that is
> not represented in any form in the kernel (a "hidden" dependency), in
> which case async suspend should not be enabled for it.
>
> Accordingly, make ucsi_ccg_probe() disable async suspend for the
> devices handled by, which covers the cypd4226 device on the Tegra
> boards as well as other devices likely to have similar "hidden"
> dependencies.
>
> Fixes: aa7a9275ab81 ("PM: sleep: Suspend async parents after suspending children")
> Closes: https://lore.kernel.org/linux-pm/c6cd714b-b0eb-42fc-b9b5-4f5f396fb4ec@nvidia.com/
> Reported-by: Jon Hunter <jonathanh@...dia.com>
> Tested-by: Jon Hunter <jonathanh@...dia.com>
> Signed-off-by: Jon Hunter <jonathanh@...dia.com>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
> ---
>
> Commit aa7a9275ab81 is in linux-next and it has not reached the mainline yet.
>
> Thanks!
>
> ---
> drivers/usb/typec/ucsi/ucsi_ccg.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> --- a/drivers/usb/typec/ucsi/ucsi_ccg.c
> +++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
> @@ -1483,6 +1483,8 @@
>
> i2c_set_clientdata(client, uc);
>
> + device_disable_async_suspend(uc->dev);
> +
> pm_runtime_set_active(uc->dev);
> pm_runtime_enable(uc->dev);
> pm_runtime_use_autosuspend(uc->dev);
>
>
--
heikki
Powered by blists - more mailing lists