Re: Crash introduced by commit b8b2c7d845d5 ("base/platform: assert that dev_pm_domain callbacks are called unconditionally")

From: Uwe Kleine-König
Date: Tue Jan 19 2016 - 14:07:19 EST


Hello Alan,

On Tue, Jan 19, 2016 at 01:22:22PM -0500, Alan Stern wrote:
>
> Your commit causes my ASUS laptop to crash during early boot. The
> problem occurs in platform_drv_probe(), affecting both the alarmtimer
> and the asus_laptop platform drivers (I can't tell which is the
> critical one).
>
> The old code would not call platform_drv_probe() at all, and probing
> would always succeed immediately because these drivers have no probe
> routine. But with the new code, platform_drv_probe() does run. The
> call to of_clk_set_defaults() returns -ENODEV, as does the call to
> dev_pm_domain_attach(). The call to drv->probe() gets skipped, of
> course. The final return value is -ENODEV, and so probing fails. This
> causes the kernel to crash: blank screen, NumLock LED blinking.
>
> The patch below fixes the problem, but I'm not sure that it's the best
> solution. What is your advice?
You want

http://mid.gmane.org/1449132704-9952-1-git-send-email-martin.wilck@xxxxxxxxxxxxxx

.

Greg, I'd welcome this fix in mainline and 4.4.x.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |