From: Of Mathias Nyman > Command completion events normally include command completion status, > SLOT_ID, and a pointer to the original command. Reset device command > completion SLOT_ID may be zero according to xhci specs 4.6.11. > > VIA controllers set the SLOT_ID to zero, triggering a WARN_ON in the > command completion handler. > > Use the SLOT ID found from the original command instead. > > This patch should be applied to stable kernels since 3.13 that contain > the commit 20e7acb13ff48fbc884d5918c3697c27de63922a > "xhci: use completion event's slot id rather than dig it out of command" > > Cc: stable@xxxxxxxxxxxxxxx # 3.13 > Reported-by: Saran Neti <sarannmr@xxxxxxxxx> > Tested-by: Saran Neti <sarannmr@xxxxxxxxx> > Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> > --- > drivers/usb/host/xhci-ring.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c > index d67ff71..71657d3 100644 > --- a/drivers/usb/host/xhci-ring.c > +++ b/drivers/usb/host/xhci-ring.c > @@ -1433,8 +1433,11 @@ static void handle_cmd_completion(struct xhci_hcd *xhci, > xhci_handle_cmd_reset_ep(xhci, slot_id, cmd_trb, cmd_comp_code); > break; > case TRB_RESET_DEV: > - WARN_ON(slot_id != TRB_TO_SLOT_ID( > - le32_to_cpu(cmd_trb->generic.field[3]))); > + /* SLOT_ID field in reset device cmd completion event TRB is 0. Minor nit... Surely is would be better to say 'is undefined' or 'may be zero'. David -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html