Re: [PATCH] Revert "usb: core: remove local_irq_save() around ->complete() handler"

From: Sebastian Andrzej Siewior
Date: Wed Jun 12 2019 - 10:52:31 EST


On 2019-06-12 10:38:11 [-0400], Alan Stern wrote:
> >
> > When stopping hostapd after it hangs:
> > [ 903.504475] ieee80211 phy0: rt2x00queue_flush_queue: Warning - Queue
> > 14 failed to flush
>
> Instead of reverting the original commit, can you prevent the problem
> by adding local_irq_save() and local_irq_restore() to the URB
> completion routines in that wireless driver?
>
> Probably people who aren't already pretty familiar with the driver code
> won't easily be able to locate the race. Still, a little overkill may
> be an acceptable solution.

Not from RT point of view because you do
local_irq_save() -> spin_lock()

but it might be worth checking if the local_irq_save() within that
wireless driver avoids the race or not.

> Alan Stern

Sebastian