aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-ring.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci-ring.c')
-rw-r--r--drivers/usb/host/xhci-ring.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 64442ac995d9..f926a81c0417 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1428,6 +1428,19 @@ static void xhci_handle_cmd_reset_dev(struct xhci_hcd *xhci, int slot_id,
1428 "for disabled slot %u\n", slot_id); 1428 "for disabled slot %u\n", slot_id);
1429} 1429}
1430 1430
1431static void xhci_handle_cmd_nec_get_fw(struct xhci_hcd *xhci,
1432 struct xhci_event_cmd *event)
1433{
1434 if (!(xhci->quirks & XHCI_NEC_HOST)) {
1435 xhci->error_bitmask |= 1 << 6;
1436 return;
1437 }
1438 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
1439 "NEC firmware version %2x.%02x",
1440 NEC_FW_MAJOR(le32_to_cpu(event->status)),
1441 NEC_FW_MINOR(le32_to_cpu(event->status)));
1442}
1443
1431static void handle_cmd_completion(struct xhci_hcd *xhci, 1444static void handle_cmd_completion(struct xhci_hcd *xhci,
1432 struct xhci_event_cmd *event) 1445 struct xhci_event_cmd *event)
1433{ 1446{
@@ -1566,14 +1579,7 @@ bandwidth_change:
1566 xhci_handle_cmd_reset_dev(xhci, slot_id, event); 1579 xhci_handle_cmd_reset_dev(xhci, slot_id, event);
1567 break; 1580 break;
1568 case TRB_TYPE(TRB_NEC_GET_FW): 1581 case TRB_TYPE(TRB_NEC_GET_FW):
1569 if (!(xhci->quirks & XHCI_NEC_HOST)) { 1582 xhci_handle_cmd_nec_get_fw(xhci, event);
1570 xhci->error_bitmask |= 1 << 6;
1571 break;
1572 }
1573 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
1574 "NEC firmware version %2x.%02x",
1575 NEC_FW_MAJOR(le32_to_cpu(event->status)),
1576 NEC_FW_MINOR(le32_to_cpu(event->status)));
1577 break; 1583 break;
1578 default: 1584 default:
1579 /* Skip over unknown commands on the event ring */ 1585 /* Skip over unknown commands on the event ring */