aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/wusbcore/wa-xfer.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/usb/wusbcore/wa-xfer.c b/drivers/usb/wusbcore/wa-xfer.c
index 6ef94bce8c0d..028fc8337435 100644
--- a/drivers/usb/wusbcore/wa-xfer.c
+++ b/drivers/usb/wusbcore/wa-xfer.c
@@ -1110,6 +1110,12 @@ int wa_urb_dequeue(struct wahc *wa, struct urb *urb)
1110 } 1110 }
1111 spin_lock_irqsave(&xfer->lock, flags); 1111 spin_lock_irqsave(&xfer->lock, flags);
1112 rpipe = xfer->ep->hcpriv; 1112 rpipe = xfer->ep->hcpriv;
1113 if (rpipe == NULL) {
1114 pr_debug("%s: xfer id 0x%08X has no RPIPE. %s",
1115 __func__, wa_xfer_id(xfer),
1116 "Probably already aborted.\n" );
1117 goto out_unlock;
1118 }
1113 /* Check the delayed list -> if there, release and complete */ 1119 /* Check the delayed list -> if there, release and complete */
1114 spin_lock_irqsave(&wa->xfer_list_lock, flags2); 1120 spin_lock_irqsave(&wa->xfer_list_lock, flags2);
1115 if (!list_empty(&xfer->list_node) && xfer->seg == NULL) 1121 if (!list_empty(&xfer->list_node) && xfer->seg == NULL)
@@ -1493,8 +1499,7 @@ static void wa_xfer_result_cb(struct urb *urb)
1493 break; 1499 break;
1494 } 1500 }
1495 usb_status = xfer_result->bTransferStatus & 0x3f; 1501 usb_status = xfer_result->bTransferStatus & 0x3f;
1496 if (usb_status == WA_XFER_STATUS_ABORTED 1502 if (usb_status == WA_XFER_STATUS_NOT_FOUND)
1497 || usb_status == WA_XFER_STATUS_NOT_FOUND)
1498 /* taken care of already */ 1503 /* taken care of already */
1499 break; 1504 break;
1500 xfer_id = xfer_result->dwTransferID; 1505 xfer_id = xfer_result->dwTransferID;