From 244d07e3bfc3249859cb6a3bbcd9a8a6f608b2ba Mon Sep 17 00:00:00 2001 From: John Tsiombikas Date: Thu, 25 Feb 2010 17:09:08 +0200 Subject: [PATCH] --- yaml --- r: 185425 b: refs/heads/master c: 67b9946dd07eeef8188e4cab816d2c370bcaa7b2 h: refs/heads/master i: 185423: 24f82b90405e50876af87f63d393cfc12ffa3178 v: v3 --- [refs] | 2 +- trunk/drivers/usb/serial/pl2303.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d445bbbb0b31..ade0a4d46611 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ac7d4ca9e0b27d7705d273f17afd29828db35ee6 +refs/heads/master: 67b9946dd07eeef8188e4cab816d2c370bcaa7b2 diff --git a/trunk/drivers/usb/serial/pl2303.c b/trunk/drivers/usb/serial/pl2303.c index 571dcf182866..895d0722183e 100644 --- a/trunk/drivers/usb/serial/pl2303.c +++ b/trunk/drivers/usb/serial/pl2303.c @@ -895,10 +895,23 @@ static int wait_modem_info(struct usb_serial_port *port, unsigned int arg) static int pl2303_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg) { + struct serial_struct ser; struct usb_serial_port *port = tty->driver_data; dbg("%s (%d) cmd = 0x%04x", __func__, port->number, cmd); switch (cmd) { + case TIOCGSERIAL: + memset(&ser, 0, sizeof ser); + ser.type = PORT_16654; + ser.line = port->serial->minor; + ser.port = port->number; + ser.baud_base = 460800; + + if (copy_to_user((void __user *)arg, &ser, sizeof ser)) + return -EFAULT; + + return 0; + case TIOCMIWAIT: dbg("%s (%d) TIOCMIWAIT", __func__, port->number); return wait_modem_info(port, arg);