summaryrefslogtreecommitdiff
path: root/drivers/net/usb/hso.c
diff options
context:
space:
mode:
authorJan Dumon <j.dumon@option.com>2010-01-05 04:52:42 +0000
committerDavid S. Miller <davem@davemloft.net>2010-01-07 00:43:46 -0800
commit0e0367e980b55629917f3dd5f5f0ccbf3d0dab62 (patch)
treefea3cbbca07b0179acbc923dfa9f36045267c6db /drivers/net/usb/hso.c
parent68a351c501ad22077a969df157cd13367cb43a40 (diff)
hso: Fix for 5 sec timeouts with v2.x firmware
Don't send flow control settings to any port other than the modem port. Older firmware ignored this request but did sent a reply. Newer firmware just ignores it without reply and causes a 5 second timeout every time a port (except for the modem port) is opened or if tiocm settings are changed. Signed-off-by: Jan Dumon <j.dumon@option.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/hso.c')
-rw-r--r--drivers/net/usb/hso.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index 7482d0d5e278..67eb8390cf07 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -1723,6 +1723,10 @@ static int hso_serial_tiocmset(struct tty_struct *tty, struct file *file,
D1("no tty structures");
return -EINVAL;
}
+
+ if ((serial->parent->port_spec & HSO_PORT_MASK) != HSO_PORT_MODEM)
+ return -EINVAL;
+
if_num = serial->parent->interface->altsetting->desc.bInterfaceNumber;
spin_lock_irqsave(&serial->serial_lock, flags);