forked from Minki/linux
USB: ark3116 initialisation fix
This patch for the usb serial ark3116 driver fixes an initialisation ordering bug that gets triggered on hotplug when using at least recent debian/ubuntu userspace. Without it, ark3116 serial cables don't work. Signed-off-by: Bart Hartgers <bart.hartgers@gmail.com> Tested-by: law_ence.dev@ntlworld.com Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
ab570da26e
commit
583182ba5f
@ -42,7 +42,7 @@ static int debug;
|
||||
* Version information
|
||||
*/
|
||||
|
||||
#define DRIVER_VERSION "v0.6"
|
||||
#define DRIVER_VERSION "v0.7"
|
||||
#define DRIVER_AUTHOR "Bart Hartgers <bart.hartgers+ark3116@gmail.com>"
|
||||
#define DRIVER_DESC "USB ARK3116 serial/IrDA driver"
|
||||
#define DRIVER_DEV_DESC "ARK3116 RS232/IrDA"
|
||||
@ -380,10 +380,6 @@ static int ark3116_open(struct tty_struct *tty, struct usb_serial_port *port)
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
/* setup termios */
|
||||
if (tty)
|
||||
ark3116_set_termios(tty, port, NULL);
|
||||
|
||||
/* remove any data still left: also clears error state */
|
||||
ark3116_read_reg(serial, UART_RX, buf);
|
||||
|
||||
@ -406,6 +402,10 @@ static int ark3116_open(struct tty_struct *tty, struct usb_serial_port *port)
|
||||
/* enable DMA */
|
||||
ark3116_write_reg(port->serial, UART_FCR, UART_FCR_DMA_SELECT);
|
||||
|
||||
/* setup termios */
|
||||
if (tty)
|
||||
ark3116_set_termios(tty, port, NULL);
|
||||
|
||||
err_out:
|
||||
kfree(buf);
|
||||
return result;
|
||||
|
Loading…
Reference in New Issue
Block a user