Re: [next] arm: PM: domains: Delete usage of driver_deferred_probe_check_state()

From: Saravana Kannan
Date: Wed Jul 27 2022 - 15:09:34 EST


On Tue, Jul 26, 2022 at 11:44 PM Naresh Kamboju
<naresh.kamboju@xxxxxxxxxx> wrote:
>
> Linux next arm BeagleBoard x15 device boot failed due to the

Can you point me to the dts file that corresponds to this board
please? And if you know which devices are power domains, that'd be
handy too. For now, I'm reverting this patch.

-Saravana

> following commit. The x15 did not event showed any crash log
> on the serial console.
> whereas, Linux mainline kernel boot pass.
>
> Anders bisect this and found the first bad commit is
>
> Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
>
> commit 5a46079a96451cfb15e4f5f01f73f7ba24ef851a
> Author: Saravana Kannan <saravanak@xxxxxxxxxx>
> Date: Wed Jun 1 00:06:57 2022 -0700
>
> PM: domains: Delete usage of driver_deferred_probe_check_state()
>
> Now that fw_devlink=on by default and fw_devlink supports
> "power-domains" property, the execution will never get to the point
> where driver_deferred_probe_check_state() is called before the supplier
> has probed successfully or before deferred probe timeout has expired.
>
> So, delete the call and replace it with -ENODEV.
>
> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
> Signed-off-by: Saravana Kannan <saravanak@xxxxxxxxxx>
> Link: https://lore.kernel.org/r/20220601070707.3946847-2-saravanak@xxxxxxxxxx
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> index 739e52cd4aba..3e86772d5fac 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2730,7 +2730,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 driver_deferred_probe_check_state(base_dev);
> + return -ENODEV;
> }
>
> dev_dbg(dev, "adding to PM domain %s\n", pd->name);
>
>
>
> --
> Linaro LKFT
> https://lkft.linaro.org