aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorOliver Neukum <oneukum@suse.de>2007-03-29 04:45:17 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-04-27 16:28:38 -0400
commit2f007de2f4296e4dafae6ab0b3cc1bc49443137a (patch)
tree783f9fc150e8271edb9c78156c2e43bb02ba53e2 /drivers/usb
parent9306fff17d3852e088dfc512e6f6673f3d80e71e (diff)
USB: fix error handling for mct_u232
we report errors to the caller. THis patch adds error handling to the driver. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/serial/mct_u232.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c
index 4cd839b1407f..3db1adc25f84 100644
--- a/drivers/usb/serial/mct_u232.c
+++ b/drivers/usb/serial/mct_u232.c
@@ -438,17 +438,21 @@ static int mct_u232_open (struct usb_serial_port *port, struct file *filp)
438 if (retval) { 438 if (retval) {
439 err("usb_submit_urb(read bulk) failed pipe 0x%x err %d", 439 err("usb_submit_urb(read bulk) failed pipe 0x%x err %d",
440 port->read_urb->pipe, retval); 440 port->read_urb->pipe, retval);
441 goto exit; 441 goto error;
442 } 442 }
443 443
444 port->interrupt_in_urb->dev = port->serial->dev; 444 port->interrupt_in_urb->dev = port->serial->dev;
445 retval = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); 445 retval = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL);
446 if (retval) 446 if (retval) {
447 usb_kill_urb(port->read_urb);
447 err(" usb_submit_urb(read int) failed pipe 0x%x err %d", 448 err(" usb_submit_urb(read int) failed pipe 0x%x err %d",
448 port->interrupt_in_urb->pipe, retval); 449 port->interrupt_in_urb->pipe, retval);
449 450 goto error;
450exit: 451 }
451 return 0; 452 return 0;
453
454error:
455 return retval;
452} /* mct_u232_open */ 456} /* mct_u232_open */
453 457
454 458