aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/class/cdc-acm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
-rw-r--r--drivers/usb/class/cdc-acm.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 1ac6c5dda9f7..c255e77282ad 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -668,7 +668,13 @@ static int acm_tty_write(struct tty_struct *tty,
668 memcpy(wb->buf, buf, count); 668 memcpy(wb->buf, buf, count);
669 wb->len = count; 669 wb->len = count;
670 670
671 usb_autopm_get_interface_async(acm->control); 671 stat = usb_autopm_get_interface_async(acm->control);
672 if (stat) {
673 wb->use = 0;
674 spin_unlock_irqrestore(&acm->write_lock, flags);
675 return stat;
676 }
677
672 if (acm->susp_count) { 678 if (acm->susp_count) {
673 usb_anchor_urb(wb->urb, &acm->delayed); 679 usb_anchor_urb(wb->urb, &acm->delayed);
674 spin_unlock_irqrestore(&acm->write_lock, flags); 680 spin_unlock_irqrestore(&acm->write_lock, flags);