summaryrefslogtreecommitdiff
path: root/drivers/usb/class/cdc-acm.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2016-05-05 09:41:36 +0300
committerIngo Molnar <mingo@kernel.org>2016-05-05 09:41:36 +0300
commitf3391a160b22f8e006f3fb8ef39aa01da749fbf0 (patch)
tree9a8f61fe1a3dd0d12e7511567b2344f80f5aa531 /drivers/usb/class/cdc-acm.c
parentd7847a7017b2a2759dd5590c0cffdbdf2994918e (diff)
parent04974df8049fc4240d22759a91e035082ccd18b4 (diff)
downloadlinux-f3391a160b22f8e006f3fb8ef39aa01da749fbf0.tar.xz
Merge tag 'v4.6-rc6' into x86/cpu, to refresh the tree
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
-rw-r--r--drivers/usb/class/cdc-acm.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 83fd30b0577c..a6c4a1b895bd 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -744,11 +744,15 @@ static void acm_tty_flush_chars(struct tty_struct *tty)
int err;
unsigned long flags;
+ if (!cur) /* nothing to do */
+ return;
+
acm->putbuffer = NULL;
err = usb_autopm_get_interface_async(acm->control);
spin_lock_irqsave(&acm->write_lock, flags);
if (err < 0) {
cur->use = 0;
+ acm->putbuffer = cur;
goto out;
}