From c4a432d3db8b9fa0145048ac4a84bac54c7a9d73 Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Fri, 24 Oct 2014 05:02:02 -0500 Subject: [PATCH] greybus: fix repeated input errors I screwed up the error handling in a patch the other day. If we get an error on an input URB we should not re-submit it. Signed-off-by: Alex Elder --- drivers/staging/greybus/es1-ap-usb.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/staging/greybus/es1-ap-usb.c b/drivers/staging/greybus/es1-ap-usb.c index 12eb9b2..bd416b4 100644 --- a/drivers/staging/greybus/es1-ap-usb.c +++ b/drivers/staging/greybus/es1-ap-usb.c @@ -319,9 +319,10 @@ static void svc_in_callback(struct urb *urb) int retval; if (status) { - if (status != -EAGAIN) - dev_err(dev, "urb svc in error %d (dropped)\n", status); - goto exit; + if (status == -EAGAIN) + goto exit; + dev_err(dev, "urb svc in error %d (dropped)\n", status); + return; } /* We have a message, create a new message structure, add it to the @@ -346,10 +347,10 @@ static void cport_in_callback(struct urb *urb) u8 *data; if (status) { - if (status != -EAGAIN) - dev_err(dev, "urb cport in error %d (dropped)\n", - status); - goto exit; + if (status == -EAGAIN) + goto exit; + dev_err(dev, "urb cport in error %d (dropped)\n", status); + return; } /* The size has to be at least one, for the cport id */ -- 2.7.4