|
@@ -474,8 +474,11 @@ void xhci_find_new_dequeue_state(struct xhci_hcd *xhci,
|
|
|
state->new_deq_seg = find_trb_seg(cur_td->start_seg,
|
|
|
dev->eps[ep_index].stopped_trb,
|
|
|
&state->new_cycle_state);
|
|
|
- if (!state->new_deq_seg)
|
|
|
- BUG();
|
|
|
+ if (!state->new_deq_seg) {
|
|
|
+ WARN_ON(1);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
/* Dig out the cycle state saved by the xHC during the stop ep cmd */
|
|
|
xhci_dbg(xhci, "Finding endpoint context\n");
|
|
|
ep_ctx = xhci_get_ep_ctx(xhci, dev->out_ctx, ep_index);
|
|
@@ -486,8 +489,10 @@ void xhci_find_new_dequeue_state(struct xhci_hcd *xhci,
|
|
|
state->new_deq_seg = find_trb_seg(state->new_deq_seg,
|
|
|
state->new_deq_ptr,
|
|
|
&state->new_cycle_state);
|
|
|
- if (!state->new_deq_seg)
|
|
|
- BUG();
|
|
|
+ if (!state->new_deq_seg) {
|
|
|
+ WARN_ON(1);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
trb = &state->new_deq_ptr->generic;
|
|
|
if ((trb->field[3] & TRB_TYPE_BITMASK) == TRB_TYPE(TRB_LINK) &&
|