> From: Felipe Balbi [mailto:balbi@xxxxxx] > Sent: Thursday, February 23, 2012 2:09 AM > > On Wed, Feb 15, 2012 at 06:56:57PM -0800, Paul Zimmerman wrote: > > - The loop in dwc3_gadget_set_link_state was using a udelay(500), > > which is a long time to delay in interrupt context. Change it to > > udelay(5) and increase the loop count to match. > > > > - dwc3_gadget_wakeup was looping on !time_after(jiffies, timeout)) > > with interrupts disabled, which is wrong. Fix it. > > > > - dwc3_gadget_ep_set_wedge and dwc3_gadget_set_selfpowered were > > modifying dwc->flags/dwc->is_selfpowered without taking the lock. > > Since those modifications are non-atomic, that could cause other > > flags to be corrupted. Fix them both to take the lock. > > > > - Transfer resource index is cleared in hardware when XFERCOMPLETE > > event is generated, so clear the driver's res_trans_idx variable > > immediately after that event is received. The upcoming > > hibernation patches also need this change. > > this needs to be split further. I can see a bunch of small easy to > review patches coming out of this one single commit. OK, will do. -- Paul -- 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