OSDN Git Service

USB: serial: metro-usb: simplify endpoint check
authorJohan Hovold <johan@kernel.org>
Thu, 12 Oct 2017 08:54:22 +0000 (10:54 +0200)
committerJohan Hovold <johan@kernel.org>
Fri, 13 Oct 2017 07:45:09 +0000 (09:45 +0200)
Let usb-serial core verify that the interrupt-in endpoint is present
when binding the interface instead of the driver verifying this at every
open.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/metro-usb.c

index 4bb29e0..a649409 100644 (file)
@@ -160,13 +160,6 @@ static int metrousb_open(struct tty_struct *tty, struct usb_serial_port *port)
        unsigned long flags = 0;
        int result = 0;
 
-       /* Make sure the urb is initialized. */
-       if (!port->interrupt_in_urb) {
-               dev_err(&port->dev, "%s - interrupt urb not initialized\n",
-                       __func__);
-               return -ENODEV;
-       }
-
        /* Set the private data information for the port. */
        spin_lock_irqsave(&metro_priv->lock, flags);
        metro_priv->control_state = 0;
@@ -342,6 +335,7 @@ static struct usb_serial_driver metrousb_device = {
        .description            = "Metrologic USB to Serial",
        .id_table               = id_table,
        .num_ports              = 1,
+       .num_interrupt_in       = 1,
        .open                   = metrousb_open,
        .close                  = metrousb_cleanup,
        .read_int_callback      = metrousb_read_int_callback,