These patches fix a couple of bugs introduced by the recent runtime-PM work (details in the individual commit messages). Note that the external abort was due to the irq work never being flushed on suspend, and that we may need similar fixes for the delayed reset and resume work which are likewise never cancelled on suspend. As I just mentioned in the v1 thread, there are a number of further issues with musb suspend (e.g. on BBB): 1. System suspend appears to break any active gadget (which then can be restarted manually). 2. The early_tx polling in musb_cppi41 lacks a timeout, something which can lead to the hrtimer rescheduling itself indefinitely if the fifo never empties (e.g. if a transfer is is initiated post suspend due to issue 1). See commit a655f481d83d ("usb: musb: musb_cppi41: handle pre-mature TX complete interrupt"). 3. In host mode, if a device is disconnected while the system is suspended, this will keep the controller runtime active after resume as the session bit is always set. Johan Changes in v2 - reorder the two patches - flush rather than cancel the irq work, and set a flag before flushing so that a detected disconnect is processed immeditaly (instead of unconditionally clearing the session flag on suspend) Johan Hovold (2): USB: musb: fix session-bit runtime-PM quirk USB: musb: fix late external abort on suspend drivers/usb/musb/musb_core.c | 15 +++++++++++---- drivers/usb/musb/musb_core.h | 2 ++ 2 files changed, 13 insertions(+), 4 deletions(-) -- 2.14.1 -- 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