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

From: David Cohen
Date: Wed Jan 08 2014 - 14:48:49 EST


On Wed, Jan 08, 2014 at 10:48:06AM -0500, Alan Stern wrote:
> 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.

That makes sense. Thanks for the feedback.
I'll check for a new approach.

Br, David Cohen

>
> 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/