trb_comp_code != COMP_MISSED_SERVICE_ERROR &&
                        trb_comp_code != COMP_NO_PING_RESPONSE_ERROR;
 
-               /*
-                * Do not update event ring dequeue pointer if we're in a loop
-                * processing missed tds.
-                */
-               if (!handling_skipped_tds)
-                       inc_deq(xhci, ir->event_ring);
-
        /*
         * If ep->skip is set, it means there are missed tds on the
         * endpoint ring need to take care of.
        union xhci_trb *event;
        int update_ptrs = 1;
        u32 trb_type;
-       int ret;
 
        /* Event ring hasn't been allocated yet. */
        if (!ir || !ir->event_ring || !ir->event_ring->dequeue) {
                update_ptrs = 0;
                break;
        case TRB_TRANSFER:
-               ret = handle_tx_event(xhci, ir, &event->trans_event);
-               if (ret >= 0)
-                       update_ptrs = 0;
+               handle_tx_event(xhci, ir, &event->trans_event);
                break;
        case TRB_DEV_NOTE:
                handle_device_notification(xhci, event);