On Mon, 24 Sep 2012, Sarah Sharp wrote: > When a device with an isochronous endpoint is behind a hub plugged into > the Intel Panther Point xHCI host controller, and the driver submits > multiple frames per URB, the xHCI driver will set the Block Event > Interrupt (BEI) flag on all but the last TD for the URB. This causes > the host controller to place an event on the event ring, but not send an > interrupt. When the last TD for the URB completes, BEI is cleared, and > we get an interrupt for the whole URB. > > However, under a Panther Point xHCI host controller, if the parent hub > is unplugged when one or more events from transfers with BEI set are on > the event ring, a port status change event is placed on the event ring, > but no interrupt is generated. This means URBs stop completing, and the > USB device disconnect is not noticed. Something like a USB headset will > cause mplayer to hang when the device is disconnected. Won't that also cause a problem for hot-unplug detection? How will the hub driver learn about the unplug event if there's no interrupt? Also, does this same problem affect bulk transfers, in particular those using scatter-gather? Alan Stern -- 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