diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index e79359326411ad300987f816d047fb8cb9790b26..bc035ba6e01052805f645558b437ebe32a98353e 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -1637,12 +1637,13 @@ static int acm_resume(struct usb_interface *intf) struct urb *urb; int rv = 0; - acm_unpoison_urbs(acm); spin_lock_irq(&acm->write_lock); if (--acm->susp_count) goto out; + acm_unpoison_urbs(acm); + if (tty_port_initialized(&acm->port)) { rv = usb_submit_urb(acm->ctrlurb, GFP_ATOMIC);