OK, I take my chances on submitting this in the middle of the merge window. This should ideally have been in -rc1 to prevent the 100% reproducible Ooopses which are bound to hit people testing -rc1 with any of these 3 drivers... Changes from the RFC patchset: - new patch adding usb_autopm_get_interface()/usb_autopm_put_interface() wrapping around port_probe and port_remove, as suggested by Alan Stern. This is necessary to prevent suspend/resume from racing against port_probe and port_remove. With this wrapping in place, we can rely on portdata not changing under our feet inside suspend and resume. - protect suspend against portdata being NULL. As pointed out by Alan Stern, suspend may very well be called after port_remove as well. No problem trigging that. Just set the autosuspend delay to 0 and unload the driver. Bjørn Mork (3): usb: usb_wwan: replace release and disconnect with a port_remove hook usb: serial: prevent suspend/resume from racing against probe/remove usb: usb_wwan: resume/suspend can be called after port is gone drivers/usb/serial/bus.c | 15 +++++++-- drivers/usb/serial/ipw.c | 3 +- drivers/usb/serial/option.c | 4 +-- drivers/usb/serial/qcserial.c | 5 ++- drivers/usb/serial/usb-wwan.h | 3 +- drivers/usb/serial/usb_wwan.c | 68 ++++++++++++++++++----------------------- 6 files changed, 47 insertions(+), 51 deletions(-) -- 1.7.10.4 -- 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