Skip to content

Commit

Permalink
USB: funsoft: Fix termios
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Alan Cox authored and Greg Kroah-Hartman committed Oct 12, 2007
1 parent d9c5636 commit f621b84
Showing 1 changed file with 0 additions and 21 deletions.
21 changes: 0 additions & 21 deletions drivers/usb/serial/funsoft.c
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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)
Expand Down

0 comments on commit f621b84

Please sign in to comment.