Set correct product type from 16654 to 16550A and fix the ioctl TIOCGSERIAL return struct values. Signed-off-by: Peter Hung <hpeter+linux_kernel@xxxxxxxxx> --- drivers/usb/serial/f81232.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/usb/serial/f81232.c b/drivers/usb/serial/f81232.c index 0ed7e36..4d3aba8 100644 --- a/drivers/usb/serial/f81232.c +++ b/drivers/usb/serial/f81232.c @@ -518,13 +518,18 @@ static int f81232_ioctl(struct tty_struct *tty, switch (cmd) { case TIOCGSERIAL: - memset(&ser, 0, sizeof ser); - ser.type = PORT_16654; + memset(&ser, 0, sizeof(ser)); + ser.flags = ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ; + ser.xmit_fifo_size = port->bulk_out_size; + ser.close_delay = 5*HZ; + ser.closing_wait = 30*HZ; + + ser.type = PORT_16550A; ser.line = port->minor; ser.port = port->port_number; - ser.baud_base = 460800; + ser.baud_base = 115200; - if (copy_to_user((void __user *)arg, &ser, sizeof ser)) + if (copy_to_user((void __user *)arg, &ser, sizeof(ser))) return -EFAULT; return 0; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html