
On 05/04/2016 07:08 PM, Stephen Warren wrote:
On 05/03/2016 02:51 PM, Marek Vasut wrote:
Abort the request in case any of the tokens in the packet failed to complete transfer 10 times. This is a precaution needed so that we don't end in endless loop when scanning the bus with some braindead devices.
Does this affect USB keyboards when SYS_USB_EVENT_POLL_VIA_CONTROL_EP is enabled? IIRC control transactions to HID devices can be held off for some duration based on polling intervals, and this patch might abort them early?
Or do we typically expect to use interrupt transfers for keyboards, so this isn't too relevant (although there are some platforms that enable SYS_USB_EVENT_POLL_VIA_CONTROL_EP). Maybe not DWC2 platforms though; I didn't check.
Hm, I found one keyboard with which I have trouble with 2/7 and 3/7 , so I will drop them from my USB PR. This means half of my USB sticks will no longer work again, but at least it won't introduce any regressions. We need to revisit this for 2016.07. Do you have any ideas how to deal with this ? I am tempted to just add udelay(125); after each control transfer.