diff options
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/xhci-ring.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index 98437ffb065e..1549b9ceb91a 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c | |||
@@ -1153,6 +1153,16 @@ static int handle_tx_event(struct xhci_hcd *xhci, | |||
1153 | status = -ENOSR; | 1153 | status = -ENOSR; |
1154 | break; | 1154 | break; |
1155 | default: | 1155 | default: |
1156 | if (trb_comp_code >= 224 && trb_comp_code <= 255) { | ||
1157 | /* Vendor defined "informational" completion code, | ||
1158 | * treat as not-an-error. | ||
1159 | */ | ||
1160 | xhci_dbg(xhci, "Vendor defined info completion code %u\n", | ||
1161 | trb_comp_code); | ||
1162 | xhci_dbg(xhci, "Treating code as success.\n"); | ||
1163 | status = 0; | ||
1164 | break; | ||
1165 | } | ||
1156 | xhci_warn(xhci, "ERROR Unknown event condition, HC probably busted\n"); | 1166 | xhci_warn(xhci, "ERROR Unknown event condition, HC probably busted\n"); |
1157 | urb = NULL; | 1167 | urb = NULL; |
1158 | goto cleanup; | 1168 | goto cleanup; |