• Alan Stern's avatar
    [PATCH] USB: Fix irq problem in hcd_endpoint_disable() · d1df71f8
    Alan Stern authored
    The recent change made to the irq handling in hcd_endpoint_disable()
    caused a problem.  The statement
    
    	local_irq_save (flags);
    
    needs to be outside the rescan loop.  Otherwise, on loop iterations after
    the first, flags is always set to indicate that interrupts are disabled.
    
    In fact, since the routine ends with might_sleep() anyway, I don't see any
    reason to save the interrupt state at all.  My patch just disables
    interrupts at the start and enables them at the end.  I'm not sure that's
    how you intended it to work, so you may want to change it a little.
    d1df71f8
hcd.c 43.3 KB