Re: [PATCH v2 3/4] Revert "PM: domains: Delete usage of driver_deferred_probe_check_state()"

From: Martin Kepplinger
Date: Thu Aug 25 2022 - 02:58:45 EST


Am Freitag, dem 19.08.2022 um 15:16 -0700 schrieb Saravana Kannan:
> This reverts commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a.
>
> Quite a few issues have been reported [1][2][3][4][5][6] on the
> original
> commit. While about half of them have been fixed, I'll need to fix
> the rest
> before driver_deferred_probe_check_state() can be deleted. So, revert
> the
> deletion for now.
>
> [1] -
> https://lore.kernel.org/all/DU0PR04MB941735271F45C716342D0410886B9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
> [2] - https://lore.kernel.org/all/CM6REZS9Z8AC.2KCR9N3EFLNQR@otso/
> [3] -
> https://lore.kernel.org/all/CAD=FV=XYVwaXZxqUKAuM5c7NiVjFz5C6m6gAHSJ7rBXBF94_Tg@xxxxxxxxxxxxxx/
> [4] - https://lore.kernel.org/all/Yvpd2pwUJGp7R+YE@euler/
> [5] -
> https://lore.kernel.org/lkml/20220601070707.3946847-2-saravanak@xxxxxxxxxx/
> [6] -
> https://lore.kernel.org/all/CA+G9fYt_cc5SiNv1Vbse=HYY_+uc+9OYPZuJ-x59bROSaLN6fw@xxxxxxxxxxxxxx/
>
> Fixes: 5a46079a9645 ("PM: domains: Delete usage of
> driver_deferred_probe_check_state()")
> Reported-by: Peng Fan <peng.fan@xxxxxxx>
> Reported-by: Luca Weiss <luca.weiss@xxxxxxxxxxxxx>
> Reported-by: Doug Anderson <dianders@xxxxxxxxxxxx>
> Reported-by: Colin Foster <colin.foster@xxxxxxxxxxxxxxxx>
> Reported-by: Tony Lindgren <tony@xxxxxxxxxxx>
> Reported-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx>
> Reported-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>
> Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx>
> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx>
> Signed-off-by: Saravana Kannan <saravanak@xxxxxxxxxx>
> ---
>  drivers/base/power/domain.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/base/power/domain.c
> b/drivers/base/power/domain.c
> index 5a2e0232862e..55a10e6d4e2a 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2733,7 +2733,7 @@ static int __genpd_dev_pm_attach(struct device
> *dev, struct device *base_dev,
>                 mutex_unlock(&gpd_list_lock);
>                 dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
>                         __func__, PTR_ERR(pd));
> -               return -ENODEV;
> +               return driver_deferred_probe_check_state(base_dev);
>         }
>  
>         dev_dbg(dev, "adding to PM domain %s\n", pd->name);

Fixes imx8mq where ENODEV results in:
[ 1.048019] imx8m-blk-ctrl 38320000.blk-ctrl: error -ENODEV: failed
to attach power domain "bus"


Tested-by: Martin Kepplinger <martin.kepplinger@xxxxxxx>

thanks for fixing this,

martin