Am Donnerstag, 10. September 2009 12:09:54 schrieb Xu, Martin:
> Hi:
> I am using Dell Wirless 5530 (Ericsson F3507g) card on kernel 2.6.31. And
> found that /dev/ttyACM0 can not be accessed. Command:
> cat /dev/ttyACM0
> Result is :
> cat: /dev/ttyACM0: Input/output error
This is a known regression. Unfortunately the fix didn't make it in
in time. I am attaching it.
HTH
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);