On Wed, Mar 18, 2020 at 09:43:05PM +0100, Thomas Gleixner wrote: > ep_io() uses a completion on stack and open codes the waiting with: > > wait_event_interruptible (done.wait, done.done); > and > wait_event (done.wait, done.done); > > This waits in non-exclusive mode for complete(), but there is no reason to > do so because the completion can only be waited for by the task itself and > complete() wakes exactly one exlusive waiter. > > Replace the open coded implementation with the corresponding > wait_for_completion*() functions. > > No functional change. > > Reported-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Felipe Balbi <balbi@xxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: linux-usb@xxxxxxxxxxxxxxx > --- > V2: New patch to avoid the conversion to swait interfaces later > --- Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>