From c98fbf9075e61a611edbb35475f2001197ca113e Mon Sep 17 00:00:00 2001 From: Malcolm Priestley Date: Mon, 17 Feb 2014 21:16:20 +0000 Subject: [PATCH] staging: vt6656: s_nsInterruptUsbIoCompleteRead add urb status returns Drop out of urb return on usb errors and set intBuf.bInUse to false. Signed-off-by: Malcolm Priestley Signed-off-by: Greg Kroah-Hartman --- drivers/staging/vt6656/usbpipe.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/staging/vt6656/usbpipe.c b/drivers/staging/vt6656/usbpipe.c index 258eec13b8df..d18cb2f0fb41 100644 --- a/drivers/staging/vt6656/usbpipe.c +++ b/drivers/staging/vt6656/usbpipe.c @@ -364,6 +364,19 @@ static void s_nsInterruptUsbIoCompleteRead(struct urb *urb) // 4) The irp was cancelled. // 5) Some other failure from the USB device object. // + switch (urb->status) { + case 0: + case -ETIMEDOUT: + break; + case -ECONNRESET: + case -ENOENT: + case -ESHUTDOWN: + pDevice->intBuf.bInUse = false; + return; + default: + break; + } + ntStatus = urb->status; DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"s_nsInterruptUsbIoCompleteRead Status %d\n", ntStatus); -- 2.30.2