Hi,

looking at this code:


        /* ring command ring doorbell to restart the command ring */
        if ((xhci->cmd_ring->dequeue != xhci->cmd_ring->enqueue) &&
            !(xhci->xhc_state & XHCI_STATE_DYING)) {
                xhci->current_cmd = cur_cmd;
                xhci_mod_cmd_timer(xhci, XHCI_CMD_DEFAULT_TIMEOUT);
                xhci_ring_cmd_db(xhci);
        }

Something looks fishy to me. The timer is started before the door bell
is rung. I cannot see how you can guarantee the timeout given that
order. Should it be reversed?

        Regards
                Oliver

Reply via email to