aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/xhci-ring.c7
-rw-r--r--drivers/usb/host/xhci.h2
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index f5397a517c54..7d34cbfaf373 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2026,8 +2026,13 @@ static int process_isoc_td(struct xhci_hcd *xhci, struct xhci_td *td,
2026 break; 2026 break;
2027 case COMP_DEV_ERR: 2027 case COMP_DEV_ERR:
2028 case COMP_STALL: 2028 case COMP_STALL:
2029 frame->status = -EPROTO;
2030 skip_td = true;
2031 break;
2029 case COMP_TX_ERR: 2032 case COMP_TX_ERR:
2030 frame->status = -EPROTO; 2033 frame->status = -EPROTO;
2034 if (event_trb != td->last_trb)
2035 return 0;
2031 skip_td = true; 2036 skip_td = true;
2032 break; 2037 break;
2033 case COMP_STOP: 2038 case COMP_STOP:
@@ -2640,7 +2645,7 @@ irqreturn_t xhci_irq(struct usb_hcd *hcd)
2640 xhci_halt(xhci); 2645 xhci_halt(xhci);
2641hw_died: 2646hw_died:
2642 spin_unlock(&xhci->lock); 2647 spin_unlock(&xhci->lock);
2643 return -ESHUTDOWN; 2648 return IRQ_HANDLED;
2644 } 2649 }
2645 2650
2646 /* 2651 /*
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 8e421b89632d..ea75e8ccd3c1 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1267,7 +1267,7 @@ union xhci_trb {
1267 * since the command ring is 64-byte aligned. 1267 * since the command ring is 64-byte aligned.
1268 * It must also be greater than 16. 1268 * It must also be greater than 16.
1269 */ 1269 */
1270#define TRBS_PER_SEGMENT 64 1270#define TRBS_PER_SEGMENT 256
1271/* Allow two commands + a link TRB, along with any reserved command TRBs */ 1271/* Allow two commands + a link TRB, along with any reserved command TRBs */
1272#define MAX_RSVD_CMD_TRBS (TRBS_PER_SEGMENT - 3) 1272#define MAX_RSVD_CMD_TRBS (TRBS_PER_SEGMENT - 3)
1273#define TRB_SEGMENT_SIZE (TRBS_PER_SEGMENT*16) 1273#define TRB_SEGMENT_SIZE (TRBS_PER_SEGMENT*16)