On 03/03/2014 08:37 PM, Greg KH wrote:
On Mon, Mar 03, 2014 at 07:30:17PM +0200, Mathias Nyman wrote:
xHCI driver has its own pci probe function that will call usb_hcd_pci_probe
to register its usb-2 bus, and then continue to manually register the
usb-3 bus. usb_hcd_pci_probe does a pm_runtime_put_noidle at the end and
might thus trigger a runtime suspend before the usb-3 bus is ready.
What is the result if that happens?
Crashes. Null pointer dereference in xhci_suspend() when touching
xhci->shared_hcd before it's initialized. More info here:
http://marc.info/?l=linux-usb&m=138914518219334&w=2
Is this a regression from 3.13? Or something new for 3.14?
According to reporter its been around since 3.7
commit 596d789a211d134dc5f94d1e5957248c204ef850
USB: set hub's default autosuspend delay as 0
But nobody else than the reporter is able to trigger it.
What platform(s) are affected by this?
David, the reporter (added to cc), mentioned
"This bug happened in a platform with 1 usb3 host controller + 1 usb3
OTG controller" run by some Intel internal group
http://marc.info/?l=linux-usb&m=138915969822029&w=2
David, can you elaborate on the platform?
xhci-platform driver is not using usb_hcd_pci_probe to set up
busses and should not need to have it's usage count increased during probe.
I didn't think we had any in-kernel users of the xhci-platform driver,
has that changed and I missed a new platform being added?
Not that I'm aware of. I just wanted to point out that this issue is
only a matter on pci enumerated xhci hosts.
-Mathias
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html