aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHikaru Nishida <hikarupsp@gmail.com>2019-07-20 15:04:27 +0900
committerGerd Hoffmann <kraxel@redhat.com>2019-08-21 10:42:00 +0200
commitdc2c037fd23ea3dcf2e13afda22c1c64ab56f96b (patch)
treeb7012c18b04df7e507b3aaadce56f8b6f5216588
parentbaeed705081be1919d6929dfdb405c37b2df9cd5 (diff)
xhci: Add No Op Command
This commit adds No Op Command (23) to xHC for verifying the operation of the Command Ring mechanisms. No Op Command is defined in XHCI spec (4.6.2) and just reports Command Completion Event with Completion Code == Success. Before this commit, No Op Command is not implemented so xHC reports Command Completion Event with Completion Code == TRB Error. This commit fixes this behaviour to report Completion Code correctly. Signed-off-by: Hikaru Nishida <hikarupsp@gmail.com> Message-id: 20190720060427.50457-1-hikarupsp@gmail.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r--hw/usb/hcd-xhci.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c
index f698224c8a..f578264948 100644
--- a/hw/usb/hcd-xhci.c
+++ b/hw/usb/hcd-xhci.c
@@ -2543,6 +2543,9 @@ static void xhci_process_commands(XHCIState *xhci)
case CR_GET_PORT_BANDWIDTH:
event.ccode = xhci_get_port_bandwidth(xhci, trb.parameter);
break;
+ case CR_NOOP:
+ event.ccode = CC_SUCCESS;
+ break;
case CR_VENDOR_NEC_FIRMWARE_REVISION:
if (xhci->nec_quirks) {
event.type = 48; /* NEC reply */