greybus: es2: don't protest when getting -ENOENT/ESHUTDOWN USB errors
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 21 Apr 2016 06:01:15 +0000 (11:31 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 21 Apr 2016 07:11:15 +0000 (16:11 +0900)
-ENOENT or -ESHUTDOWN happens when the urbs are being killed from
->disconnect() callback.  Don't complain to userspace about this, as the
user will see this on es2 module removal.

Tested by removing the gb-es2.ko module on both EVT1.5 and qemu with
gbsim. The driver doesn't throw anymore errors like:
"urb cport in error -2 (dropped)".

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: David Lin <dtwlin@google.com>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/es2.c

index 8138bc22efbcbd6e3383ec357f4510046808ebca..0a29708cdb74dc7d9a1292facebc508dc0cbb5d8 100644 (file)
@@ -715,6 +715,11 @@ static void cport_in_callback(struct urb *urb)
        if (status) {
                if ((status == -EAGAIN) || (status == -EPROTO))
                        goto exit;
+
+               /* The urb is being unlinked */
+               if (status == -ENOENT || status == -ESHUTDOWN)
+                       return;
+
                dev_err(dev, "urb cport in error %d (dropped)\n", status);
                return;
        }