Alan Stern wrote:
This patch (as1298) fixes a bug in the new scatter-gather URB facility. If an URB uses a scatterlist then it should not have the URB_NO_INTERRUPT flag set; otherwise the system won't be notified when the transfer completes. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> CC: David Vrabel <david.vrabel@xxxxxxx> CC: Sarah Sharp <sarah.a.sharp@xxxxxxxxx>
Acked-by: David Vrabel <david.vrabel@xxxxxxx>
Unless David or Sarah thinks otherwise, this patch can wait until 2.6.33. It affects only HCDs with scatter-gather support, which currently means only WHCI and xHCI.
WHCI won't support scatter-gather until 2.6.33 so this patch can wait from my point of view.
I'm a little surprised the bug hasn't shown up in testing on those controllers, however. Is it hidden by an I/O watchdog timer? Or do they simply not support URB_NO_INTERRUPT?
WHCI's qsets can only have 8 qTDs queued at a time so the driver can't simply use the URB_NO_INTERRUPT flag to set the Interrupt On Complete (IOC) flag. I've just been lazy and alway set IOC on every qTD rather than counting URBs with URB_NO_INTERRUPT and setting IOC on every forth one (or similar).
David -- 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