|
@@ -1334,12 +1334,6 @@ static void handle_cmd_completion(struct xhci_hcd *xhci,
|
|
|
|
|
|
cmd = list_entry(xhci->cmd_list.next, struct xhci_command, cmd_list);
|
|
|
|
|
|
- if (cmd->command_trb != xhci->cmd_ring->dequeue) {
|
|
|
- xhci_err(xhci,
|
|
|
- "Command completion event does not match command\n");
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
del_timer(&xhci->cmd_timer);
|
|
|
|
|
|
trace_xhci_cmd_completion(cmd_trb, (struct xhci_generic_trb *) event);
|
|
@@ -1351,6 +1345,13 @@ static void handle_cmd_completion(struct xhci_hcd *xhci,
|
|
|
xhci_handle_stopped_cmd_ring(xhci, cmd);
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ if (cmd->command_trb != xhci->cmd_ring->dequeue) {
|
|
|
+ xhci_err(xhci,
|
|
|
+ "Command completion event does not match command\n");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
/*
|
|
|
* Host aborted the command ring, check if the current command was
|
|
|
* supposed to be aborted, otherwise continue normally.
|