aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/kl5kusb105.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/serial/kl5kusb105.c')
-rw-r--r--drivers/usb/serial/kl5kusb105.c30
1 files changed, 11 insertions, 19 deletions
diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c
index 769d910ae0a5..1b4054fe52a5 100644
--- a/drivers/usb/serial/kl5kusb105.c
+++ b/drivers/usb/serial/kl5kusb105.c
@@ -341,28 +341,20 @@ static void klsi_105_close(struct usb_serial_port *port)
341{ 341{
342 int rc; 342 int rc;
343 343
344 mutex_lock(&port->serial->disc_mutex); 344 /* send READ_OFF */
345 if (!port->serial->disconnected) { 345 rc = usb_control_msg(port->serial->dev,
346 /* send READ_OFF */ 346 usb_sndctrlpipe(port->serial->dev, 0),
347 rc = usb_control_msg(port->serial->dev, 347 KL5KUSB105A_SIO_CONFIGURE,
348 usb_sndctrlpipe(port->serial->dev, 0), 348 USB_TYPE_VENDOR | USB_DIR_OUT,
349 KL5KUSB105A_SIO_CONFIGURE, 349 KL5KUSB105A_SIO_CONFIGURE_READ_OFF,
350 USB_TYPE_VENDOR | USB_DIR_OUT, 350 0, /* index */
351 KL5KUSB105A_SIO_CONFIGURE_READ_OFF, 351 NULL, 0,
352 0, /* index */ 352 KLSI_TIMEOUT);
353 NULL, 0, 353 if (rc < 0)
354 KLSI_TIMEOUT); 354 dev_err(&port->dev, "failed to disable read: %d\n", rc);
355 if (rc < 0)
356 dev_err(&port->dev,
357 "Disabling read failed (error = %d)\n", rc);
358 }
359 mutex_unlock(&port->serial->disc_mutex);
360 355
361 /* shutdown our bulk reads and writes */ 356 /* shutdown our bulk reads and writes */
362 usb_serial_generic_close(port); 357 usb_serial_generic_close(port);
363
364 /* wgg - do I need this? I think so. */
365 usb_kill_urb(port->interrupt_in_urb);
366} 358}
367 359
368/* We need to write a complete 64-byte data block and encode the 360/* We need to write a complete 64-byte data block and encode the