diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/serial/mct_u232.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c index a8bce134ffba..8a2081004107 100644 --- a/drivers/usb/serial/mct_u232.c +++ b/drivers/usb/serial/mct_u232.c | |||
@@ -520,12 +520,14 @@ static void mct_u232_dtr_rts(struct usb_serial_port *port, int on) | |||
520 | 520 | ||
521 | static void mct_u232_close(struct usb_serial_port *port) | 521 | static void mct_u232_close(struct usb_serial_port *port) |
522 | { | 522 | { |
523 | if (port->serial->dev) { | 523 | /* |
524 | /* shutdown our urbs */ | 524 | * Must kill the read urb as it is actually an interrupt urb, which |
525 | usb_kill_urb(port->write_urb); | 525 | * generic close thus fails to kill. |
526 | usb_kill_urb(port->read_urb); | 526 | */ |
527 | usb_kill_urb(port->interrupt_in_urb); | 527 | usb_kill_urb(port->read_urb); |
528 | } | 528 | usb_kill_urb(port->interrupt_in_urb); |
529 | |||
530 | usb_serial_generic_close(port); | ||
529 | } /* mct_u232_close */ | 531 | } /* mct_u232_close */ |
530 | 532 | ||
531 | 533 | ||