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

From: Greg Kroah-Hartman
Date: Tue Jan 19 2016 - 14:55:28 EST


On Tue, Jan 19, 2016 at 08:07:09PM +0100, Uwe Kleine-König wrote:
> 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.

Yes it's in my queue to get to after 4.5-rc1 -s out.

thanks,

greg k-h