Am Donnerstag, 1. Oktober 2009 19:18:51 schrieb Marcel Holtmann: > Hi Oliver, > > so we have a problem with ACM driver in 2.6.31 and open() while a > previous kernel is working fine. 2.6.31 had a known bug with the new tty conversion. Does this patch fix it? Regards Oliver
commit 66c6c17ff453f56053bca46d3c3706f93051d1a7 Author: Oliver Neukum <oliver@xxxxxxxxxx> Date: Tue Sep 8 23:44:11 2009 +0200 usb:cdc-acm: fix incomplete adaption to new tty stuff cdc-acm needs to set a flag during open to tell the tty layer that the device is initialized diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 2bfc41e..b8134ad 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -59,6 +59,7 @@ #include <linux/init.h> #include <linux/slab.h> #include <linux/tty.h> +#include <linux/serial.h> #include <linux/tty_driver.h> #include <linux/tty_flip.h> #include <linux/module.h> @@ -609,6 +610,7 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp) acm->throttle = 0; tasklet_schedule(&acm->urb_task); + set_bit(ASYNCB_INITIALIZED, &acm->port.flags); rv = tty_port_block_til_ready(&acm->port, tty, filp); done: mutex_unlock(&acm->mutex);