Skip to content

Commit

Permalink
USB: ark3116 initialisation fix
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Bart Hartgers authored and Greg Kroah-Hartman committed Nov 14, 2011
1 parent ab570da commit 583182b
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions drivers/usb/serial/ark3116.c
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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);

Expand All @@ -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;
Expand Down

0 comments on commit 583182b

Please sign in to comment.