Re: [RFC] xhci: Intel Panther Point BEI quirk.

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

 



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


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

  Powered by Linux