From: John Ogness > Sent: 04 March 2016 10:51 > On 2016-03-04, John Ogness <john.ogness@xxxxxxxxxxxxx> wrote: > > Using v4.5-rc6, I modified musb_h_tx_flush_fifo() to allow infinite > > looping and kept a log of the number of loops that were executed. For > > my test I am regularly seeing 3000-3200 loops (with a max so far of > > 3289). Since there used to be an msleep() in the loop, I never hit the > > warnings before. > > > > With my board, 3200 loops takes about 950us. Perhaps the msleep() > > should be reinserted, but with a retry count of only 3 before aborting > > with the warning. > > Sorry, since musb_h_tx_flush_fifo() can run in interrupt context, > obviously an msleep() cannot be used. It seems increasing the retry > count may be the only option here. Maybe 5000? Spinning for 1ms+ isn't great. Sounds like some major refactoring is needed so that the flush can be asynchronous. 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