Re: [RFC/PATCH] usb/xhci: avoid kernel panic on xhci_suspend()

From: Alan Stern
Date: Wed Jan 08 2014 - 10:48:14 EST


On Tue, 7 Jan 2014, Greg KH wrote:

> On Tue, Jan 07, 2014 at 05:44:26PM -0800, David Cohen wrote:
> > From: jianqian <jianqiang.tang@xxxxxxxxx>
> >
> > There is a possible kernel panic faced on xhci_suspend().
> > Due to kernel modified the hub autosupend_delay to 0s, after usb1 root
> > hub finishes initialization, it will trigger runtime_suspend and then
> > it will trigger xhci runtime suspend. But at that time, if
> > xhci->shared_hcd is still doing initialization, it is possible to face
> > null pointer kernel panic in xhci_suspend() function.
> >
> > This patch checks if xhci->shared_hcd is null to avoid panic.
>
> That sounds like this is a race that should be fixed properly, not just
> papered over, right?

That was my reaction too. The best way to solve the problem is to
prevent the USB-2 root hub from suspending until after the USB-3 root
hub has been registered.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/