aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/class/cdc-acm.c
diff options
context:
space:
mode:
authorOliver Neukum <oliver@neukum.org>2009-09-08 17:51:28 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-23 09:46:16 -0400
commit7af25b4b34a2439020d78da765a3bed0ff73f25c (patch)
tree2a4a62760bf8e233f421e0b724a277e6391c5038 /drivers/usb/class/cdc-acm.c
parent7f1dc313d01f5f0f84c06051343a3b8623932d3c (diff)
USB: fix cdc-acm regression in open
cdc-acm needs to set a flag during open to tell the tty layer that the device is initialized Signed-off-by: Oliver Neukum <oliver@neukum.org> Cc: Marcel Holtmann <marcel@holtmann.org> Cc: Paul Martin <pm@debian.org> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/class/cdc-acm.c')
-rw-r--r--drivers/usb/class/cdc-acm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c
index 85a1a55815cf..e3861b21e776 100644
--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -59,6 +59,7 @@
59#include <linux/init.h> 59#include <linux/init.h>
60#include <linux/slab.h> 60#include <linux/slab.h>
61#include <linux/tty.h> 61#include <linux/tty.h>
62#include <linux/serial.h>
62#include <linux/tty_driver.h> 63#include <linux/tty_driver.h>
63#include <linux/tty_flip.h> 64#include <linux/tty_flip.h>
64#include <linux/module.h> 65#include <linux/module.h>
@@ -609,6 +610,7 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp)
609 acm->throttle = 0; 610 acm->throttle = 0;
610 611
611 tasklet_schedule(&acm->urb_task); 612 tasklet_schedule(&acm->urb_task);
613 set_bit(ASYNCB_INITIALIZED, &acm->port.flags);
612 rv = tty_port_block_til_ready(&acm->port, tty, filp); 614 rv = tty_port_block_til_ready(&acm->port, tty, filp);
613done: 615done:
614 mutex_unlock(&acm->mutex); 616 mutex_unlock(&acm->mutex);