Re: [RFT PATCH] xhci: fix race when enabling slots.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04.05.2015 23:00, Chris Bainbridge wrote:
> I booted 200 times, and the USB2 of the hub failed to come up three times.
> 
> This happened twice:
> 
> [    7.320961] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
> [    8.826673] xhci_hcd 0000:00:14.0: xHCI host not responding to stop endpoint command.
> 
> I haven't seen that particular error sequence before - it also resulted in
> `lsusb` hanging, which hasn't happened before in my testing.
> 
> This happened once:
> 
> [    5.785880] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command
> [    5.987246] usb 2-3: new SuperSpeed USB device number 2 using xhci_hcd
> 

Thanks for testing.
Looks like fixing addr_dev and slot_id wasn't enough. It took down the failure rate from 8% -> 1.5%
Seems that we need to add the mutex for xhci_setup_device() anyway.

Just found an additional note in the xhci specs section 4.5.3 saying that:
"Note: Software shall not transition more than one Device Slot to the Default State at a time"
which is what xhci_setup_device() does in addition to moving slots to the addressed state

I'll add your patch and send it forward once Greg is back.

-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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux