Re: [PATCH 07/11] driver core: Respect all error codes from dev_pm_domain_attach()

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

 



On 14 May 2018 at 17:19, Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> Ulf,
>
> * Ulf Hansson <ulf.hansson@xxxxxxxxxx> [180426 09:01]:
>> The limitation of being able to check only for -EPROBE_DEFER from
>> dev_pm_domain_attach() has been removed. Hence let's respect all error
>> codes and bail out accordingly.
>>
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
>> ---
>>  drivers/base/platform.c | 17 ++++++++---------
>>  1 file changed, 8 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/base/platform.c b/drivers/base/platform.c
>> index 8075ddc..9460139 100644
>> --- a/drivers/base/platform.c
>> +++ b/drivers/base/platform.c
>> @@ -572,17 +572,16 @@ static int platform_drv_probe(struct device *_dev)
>>               return ret;
>>
>>       ret = dev_pm_domain_attach(_dev, true);
>> -     if (ret != -EPROBE_DEFER) {
>> -             if (drv->probe) {
>> -                     ret = drv->probe(dev);
>> -                     if (ret)
>> -                             dev_pm_domain_detach(_dev, true);
>> -             } else {
>> -                     /* don't fail if just dev_pm_domain_attach failed */
>> -                     ret = 0;
>> -             }
>> +     if (ret)
>> +             goto out;
>> +
>> +     if (drv->probe) {
>> +             ret = drv->probe(dev);
>> +             if (ret)
>> +                     dev_pm_domain_detach(_dev, true);
>>       }
>>
>> +out:
>>       if (drv->prevent_deferred_probe && ret == -EPROBE_DEFER) {
>>               dev_warn(_dev, "probe deferral not supported\n");
>>               ret = -ENXIO;
>> --
>
> Looks like this causes Linux next to not boot for me with device
> probes failing with error -17. So that's at least omaps, looks
> like kernelci has others failing too.

Yep, problem also reported for some Exynos5 platforms.

Omap suffers from the similar problem, because of its SoC specific way
of attaching devices to PM domains.

>
> Reverting for 8c123c14bbba ("driver core: Respect all error codes from
> dev_pm_domain_attach()") fixes the issue for me.
>
> Sounds like something is missing, any ideas?

This should solve the problem:

https://patchwork.kernel.org/patch/10398597/

Kind regards
Uffe
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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