diff options
author | Malcolm Priestley | 2014-02-25 21:51:48 +0100 |
---|---|---|
committer | Greg Kroah-Hartman | 2014-02-27 22:04:36 +0100 |
commit | 67638980eff396300e20ca5c152f33844827ffb7 (patch) | |
tree | 692f0521d4dc3650efe2fe1c272b148423934f21 /drivers/staging/vt6656 | |
parent | staging: vt6656: s_nsBulkInUsbIoCompleteRead Remove bytesRead/bIndicateReceive. (diff) | |
download | kernel-qcow2-linux-67638980eff396300e20ca5c152f33844827ffb7.tar.gz kernel-qcow2-linux-67638980eff396300e20ca5c152f33844827ffb7.tar.xz kernel-qcow2-linux-67638980eff396300e20ca5c152f33844827ffb7.zip |
staging: vt6656: s_nsBulkInUsbIoCompleteRead Replace error handling.
Use switch on urb->status
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vt6656')
-rw-r--r-- | drivers/staging/vt6656/usbpipe.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/drivers/staging/vt6656/usbpipe.c b/drivers/staging/vt6656/usbpipe.c index 87601b7b984c..1cab7a321bf6 100644 --- a/drivers/staging/vt6656/usbpipe.c +++ b/drivers/staging/vt6656/usbpipe.c @@ -473,21 +473,22 @@ static void s_nsBulkInUsbIoCompleteRead(struct urb *urb) DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->s_nsBulkInUsbIoCompleteRead\n"); - if (urb->status) { - pDevice->ulBulkInError++; - DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"BULK In failed %d\n", urb->status); -//todo...xxxxxx -// if (status == USBD_STATUS_CRC) { -// pDevice->ulBulkInContCRCError++; -// } -// if (status == STATUS_DEVICE_NOT_CONNECTED ) -// { -// MP_SET_FLAG(pDevice, fMP_DISCONNECTED); -// } - } else { - pDevice->ulBulkInContCRCError = 0; - pDevice->ulBulkInBytesRead += urb->actual_length; - } + switch (urb->status) { + case 0: + pDevice->ulBulkInContCRCError = 0; + pDevice->ulBulkInBytesRead += urb->actual_length; + break; + case -ECONNRESET: + case -ENOENT: + case -ESHUTDOWN: + return; + case -ETIMEDOUT: + default: + pDevice->ulBulkInError++; + DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO + "BULK In failed %d\n", urb->status); + break; + } if (urb->actual_length) { spin_lock(&pDevice->lock); |