diff options
-rw-r--r-- | drivers/usb/serial/mos7720.c | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/drivers/usb/serial/mos7720.c b/drivers/usb/serial/mos7720.c index 4c06357b3ef8..fc52ac75fbf6 100644 --- a/drivers/usb/serial/mos7720.c +++ b/drivers/usb/serial/mos7720.c | |||
@@ -1786,24 +1786,20 @@ static int mos7720_tiocmset(struct tty_struct *tty, | |||
1786 | return 0; | 1786 | return 0; |
1787 | } | 1787 | } |
1788 | 1788 | ||
1789 | static int get_serial_info(struct moschip_port *mos7720_port, | 1789 | static int get_serial_info(struct tty_struct *tty, |
1790 | struct serial_struct __user *retinfo) | 1790 | struct serial_struct *ss) |
1791 | { | 1791 | { |
1792 | struct serial_struct tmp; | 1792 | struct usb_serial_port *port = tty->driver_data; |
1793 | 1793 | struct moschip_port *mos7720_port = usb_get_serial_port_data(port); | |
1794 | memset(&tmp, 0, sizeof(tmp)); | ||
1795 | |||
1796 | tmp.type = PORT_16550A; | ||
1797 | tmp.line = mos7720_port->port->minor; | ||
1798 | tmp.port = mos7720_port->port->port_number; | ||
1799 | tmp.irq = 0; | ||
1800 | tmp.xmit_fifo_size = NUM_URBS * URB_TRANSFER_BUFFER_SIZE; | ||
1801 | tmp.baud_base = 9600; | ||
1802 | tmp.close_delay = 5*HZ; | ||
1803 | tmp.closing_wait = 30*HZ; | ||
1804 | 1794 | ||
1805 | if (copy_to_user(retinfo, &tmp, sizeof(*retinfo))) | 1795 | ss->type = PORT_16550A; |
1806 | return -EFAULT; | 1796 | ss->line = mos7720_port->port->minor; |
1797 | ss->port = mos7720_port->port->port_number; | ||
1798 | ss->irq = 0; | ||
1799 | ss->xmit_fifo_size = NUM_URBS * URB_TRANSFER_BUFFER_SIZE; | ||
1800 | ss->baud_base = 9600; | ||
1801 | ss->close_delay = 5*HZ; | ||
1802 | ss->closing_wait = 30*HZ; | ||
1807 | return 0; | 1803 | return 0; |
1808 | } | 1804 | } |
1809 | 1805 | ||
@@ -1822,11 +1818,6 @@ static int mos7720_ioctl(struct tty_struct *tty, | |||
1822 | dev_dbg(&port->dev, "%s TIOCSERGETLSR\n", __func__); | 1818 | dev_dbg(&port->dev, "%s TIOCSERGETLSR\n", __func__); |
1823 | return get_lsr_info(tty, mos7720_port, | 1819 | return get_lsr_info(tty, mos7720_port, |
1824 | (unsigned int __user *)arg); | 1820 | (unsigned int __user *)arg); |
1825 | |||
1826 | case TIOCGSERIAL: | ||
1827 | dev_dbg(&port->dev, "%s TIOCGSERIAL\n", __func__); | ||
1828 | return get_serial_info(mos7720_port, | ||
1829 | (struct serial_struct __user *)arg); | ||
1830 | } | 1821 | } |
1831 | 1822 | ||
1832 | return -ENOIOCTLCMD; | 1823 | return -ENOIOCTLCMD; |
@@ -1963,6 +1954,7 @@ static struct usb_serial_driver moschip7720_2port_driver = { | |||
1963 | .ioctl = mos7720_ioctl, | 1954 | .ioctl = mos7720_ioctl, |
1964 | .tiocmget = mos7720_tiocmget, | 1955 | .tiocmget = mos7720_tiocmget, |
1965 | .tiocmset = mos7720_tiocmset, | 1956 | .tiocmset = mos7720_tiocmset, |
1957 | .get_serial = get_serial_info, | ||
1966 | .set_termios = mos7720_set_termios, | 1958 | .set_termios = mos7720_set_termios, |
1967 | .write = mos7720_write, | 1959 | .write = mos7720_write, |
1968 | .write_room = mos7720_write_room, | 1960 | .write_room = mos7720_write_room, |