summaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/option.c
diff options
context:
space:
mode:
authorDan Williams2010-11-19 23:04:00 +0100
committerGreg Kroah-Hartman2010-12-01 01:44:57 +0100
commit02303f73373aa1da19dbec510ec5a4e2576f9610 (patch)
tree965bb7f33b4c96fd543803d41248c962cb79958e /drivers/usb/serial/option.c
parentUSB: Remove unnecessary casts of void ptr returning alloc function return values (diff)
downloadkernel-qcow2-linux-02303f73373aa1da19dbec510ec5a4e2576f9610.tar.gz
kernel-qcow2-linux-02303f73373aa1da19dbec510ec5a4e2576f9610.tar.xz
kernel-qcow2-linux-02303f73373aa1da19dbec510ec5a4e2576f9610.zip
usb-wwan: implement TIOCGSERIAL and TIOCSSERIAL to avoid blocking close(2)
Some devices (ex ZTE 2726) simply don't respond at all when data is sent to some of their USB interfaces. The data gets stuck in the TTYs queue and sits there until close(2), which them blocks because closing_wait defaults to 30 seconds (even though the fd is O_NONBLOCK). This is rarely desired. Implement the standard mechanism to adjust closing_wait and let applications handle it how they want to. Signed-off-by: Dan Williams <dcbw@redhat.com>
Diffstat (limited to 'drivers/usb/serial/option.c')
-rw-r--r--drivers/usb/serial/option.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 2297fb1bcf65..2a56cc35ad31 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -989,6 +989,7 @@ static struct usb_serial_driver option_1port_device = {
.set_termios = usb_wwan_set_termios,
.tiocmget = usb_wwan_tiocmget,
.tiocmset = usb_wwan_tiocmset,
+ .ioctl = usb_wwan_ioctl,
.attach = usb_wwan_startup,
.disconnect = usb_wwan_disconnect,
.release = usb_wwan_release,