diff options
Diffstat (limited to 'drivers/usb/serial/mct_u232.c')
-rw-r--r-- | drivers/usb/serial/mct_u232.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c index d8825e159aa5..ad4998bbf16f 100644 --- a/drivers/usb/serial/mct_u232.c +++ b/drivers/usb/serial/mct_u232.c | |||
@@ -93,8 +93,7 @@ static int debug; | |||
93 | */ | 93 | */ |
94 | static int mct_u232_startup(struct usb_serial *serial); | 94 | static int mct_u232_startup(struct usb_serial *serial); |
95 | static void mct_u232_release(struct usb_serial *serial); | 95 | static void mct_u232_release(struct usb_serial *serial); |
96 | static int mct_u232_open(struct tty_struct *tty, | 96 | static int mct_u232_open(struct tty_struct *tty, struct usb_serial_port *port); |
97 | struct usb_serial_port *port, struct file *filp); | ||
98 | static void mct_u232_close(struct usb_serial_port *port); | 97 | static void mct_u232_close(struct usb_serial_port *port); |
99 | static void mct_u232_dtr_rts(struct usb_serial_port *port, int on); | 98 | static void mct_u232_dtr_rts(struct usb_serial_port *port, int on); |
100 | static void mct_u232_read_int_callback(struct urb *urb); | 99 | static void mct_u232_read_int_callback(struct urb *urb); |
@@ -421,8 +420,7 @@ static void mct_u232_release(struct usb_serial *serial) | |||
421 | } | 420 | } |
422 | } /* mct_u232_release */ | 421 | } /* mct_u232_release */ |
423 | 422 | ||
424 | static int mct_u232_open(struct tty_struct *tty, | 423 | static int mct_u232_open(struct tty_struct *tty, struct usb_serial_port *port) |
425 | struct usb_serial_port *port, struct file *filp) | ||
426 | { | 424 | { |
427 | struct usb_serial *serial = port->serial; | 425 | struct usb_serial *serial = port->serial; |
428 | struct mct_u232_private *priv = usb_get_serial_port_data(port); | 426 | struct mct_u232_private *priv = usb_get_serial_port_data(port); |
@@ -568,10 +566,13 @@ static void mct_u232_read_int_callback(struct urb *urb) | |||
568 | * Work-a-round: handle the 'usual' bulk-in pipe here | 566 | * Work-a-round: handle the 'usual' bulk-in pipe here |
569 | */ | 567 | */ |
570 | if (urb->transfer_buffer_length > 2) { | 568 | if (urb->transfer_buffer_length > 2) { |
571 | tty = tty_port_tty_get(&port->port); | ||
572 | if (urb->actual_length) { | 569 | if (urb->actual_length) { |
573 | tty_insert_flip_string(tty, data, urb->actual_length); | 570 | tty = tty_port_tty_get(&port->port); |
574 | tty_flip_buffer_push(tty); | 571 | if (tty) { |
572 | tty_insert_flip_string(tty, data, | ||
573 | urb->actual_length); | ||
574 | tty_flip_buffer_push(tty); | ||
575 | } | ||
575 | tty_kref_put(tty); | 576 | tty_kref_put(tty); |
576 | } | 577 | } |
577 | goto exit; | 578 | goto exit; |