diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/serial/cypress_m8.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c index b283eb8b86d6..bbeeb2bd55a8 100644 --- a/drivers/usb/serial/cypress_m8.c +++ b/drivers/usb/serial/cypress_m8.c | |||
@@ -447,6 +447,11 @@ static int cypress_generic_port_probe(struct usb_serial_port *port) | |||
447 | struct usb_serial *serial = port->serial; | 447 | struct usb_serial *serial = port->serial; |
448 | struct cypress_private *priv; | 448 | struct cypress_private *priv; |
449 | 449 | ||
450 | if (!port->interrupt_out_urb || !port->interrupt_in_urb) { | ||
451 | dev_err(&port->dev, "required endpoint is missing\n"); | ||
452 | return -ENODEV; | ||
453 | } | ||
454 | |||
450 | priv = kzalloc(sizeof(struct cypress_private), GFP_KERNEL); | 455 | priv = kzalloc(sizeof(struct cypress_private), GFP_KERNEL); |
451 | if (!priv) | 456 | if (!priv) |
452 | return -ENOMEM; | 457 | return -ENOMEM; |
@@ -606,12 +611,6 @@ static int cypress_open(struct tty_struct *tty, struct usb_serial_port *port) | |||
606 | cypress_set_termios(tty, port, &priv->tmp_termios); | 611 | cypress_set_termios(tty, port, &priv->tmp_termios); |
607 | 612 | ||
608 | /* setup the port and start reading from the device */ | 613 | /* setup the port and start reading from the device */ |
609 | if (!port->interrupt_in_urb) { | ||
610 | dev_err(&port->dev, "%s - interrupt_in_urb is empty!\n", | ||
611 | __func__); | ||
612 | return -1; | ||
613 | } | ||
614 | |||
615 | usb_fill_int_urb(port->interrupt_in_urb, serial->dev, | 614 | usb_fill_int_urb(port->interrupt_in_urb, serial->dev, |
616 | usb_rcvintpipe(serial->dev, port->interrupt_in_endpointAddress), | 615 | usb_rcvintpipe(serial->dev, port->interrupt_in_endpointAddress), |
617 | port->interrupt_in_urb->transfer_buffer, | 616 | port->interrupt_in_urb->transfer_buffer, |