hso: Fix for 5 sec timeouts with v2.x firmware
authorJan Dumon <j.dumon@option.com>
Tue, 5 Jan 2010 04:52:42 +0000 (04:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Jan 2010 08:43:46 +0000 (00:43 -0800)
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>
drivers/net/usb/hso.c

index 7482d0d5e2784fb4e34fc0050c73c26419e55dde..67eb8390cf07bf014559d524cb768ee1e2b9f32d 100644 (file)
@@ -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);