OSDN Git Service

USB: funsoft: Fix termios
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Wed, 26 Sep 2007 22:22:36 +0000 (23:22 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 12 Oct 2007 21:55:32 +0000 (14:55 -0700)
Funsoft has a bogus ioctl handler doing bogus termios handling in a bogus
manner. Fortunately we can simply delete all the bogus bits and get the
right default behaviour !

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/serial/funsoft.c

index 4092f6d..b5194dc 100644 (file)
@@ -24,26 +24,6 @@ static struct usb_device_id id_table [] = {
 };
 MODULE_DEVICE_TABLE(usb, id_table);
 
-static int funsoft_ioctl(struct usb_serial_port *port, struct file *file,
-                        unsigned int cmd, unsigned long arg)
-{
-       struct ktermios t;
-
-       dbg("%s - port %d, cmd 0x%04x", __FUNCTION__, port->number, cmd);
-
-       if (cmd == TCSETSF) {
-               if (user_termios_to_kernel_termios(&t, (struct termios __user *)arg))
-                       return -EFAULT;
-
-               dbg("%s - iflag:%x oflag:%x cflag:%x lflag:%x", __FUNCTION__,
-                   t.c_iflag, t.c_oflag, t.c_cflag, t.c_lflag);
-
-               if (!(t.c_lflag & ICANON))
-                       return -EINVAL;
-       }
-       return -ENOIOCTLCMD;
-}
-
 static struct usb_driver funsoft_driver = {
        .name =         "funsoft",
        .probe =        usb_serial_probe,
@@ -63,7 +43,6 @@ static struct usb_serial_driver funsoft_device = {
        .num_bulk_in =          NUM_DONT_CARE,
        .num_bulk_out =         NUM_DONT_CARE,
        .num_ports =            1,
-       .ioctl =                funsoft_ioctl,
 };
 
 static int __init funsoft_init(void)