USB: serial: ark3116: fix endpoint-check return value
authorJohan Hovold <johan@kernel.org>
Tue, 31 Jan 2017 10:51:07 +0000 (11:51 +0100)
committerJohan Hovold <johan@kernel.org>
Tue, 31 Jan 2017 16:20:37 +0000 (17:20 +0100)
Return -ENODEV rather than -EINVAL on probe errors due to a missing
endpoint.

Also clean up the endpoint sanity check somewhat and use the interface
device for logging a more compact error in case an expected endpoint is
missing.

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

index 754fc3e41005195b605ac9da123cf18c8255f143..d0fcff20ca7e60015996009918b7695a8b7a38c7 100644 (file)
@@ -125,17 +125,11 @@ static inline int calc_divisor(int bps)
 static int ark3116_attach(struct usb_serial *serial)
 {
        /* make sure we have our end-points */
-       if ((serial->num_bulk_in == 0) ||
-           (serial->num_bulk_out == 0) ||
-           (serial->num_interrupt_in == 0)) {
-               dev_err(&serial->dev->dev,
-                       "%s - missing endpoint - "
-                       "bulk in: %d, bulk out: %d, int in %d\n",
-                       KBUILD_MODNAME,
-                       serial->num_bulk_in,
-                       serial->num_bulk_out,
-                       serial->num_interrupt_in);
-               return -EINVAL;
+       if (serial->num_bulk_in == 0 ||
+                       serial->num_bulk_out == 0 ||
+                       serial->num_interrupt_in == 0) {
+               dev_err(&serial->interface->dev, "missing endpoint\n");
+               return -ENODEV;
        }
 
        return 0;