From: John Ogness
> Sent: 04 March 2016 10:51
> On 2016-03-04, John Ogness <john.ogn...@linutronix.de> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to