diff options
author | Michael Brown | 2015-02-05 13:40:05 +0100 |
---|---|---|
committer | Michael Brown | 2015-02-05 13:40:05 +0100 |
commit | 66048e3214adc8de4fff3beae1aa34facf307611 (patch) | |
tree | 9af602c41f2c21c9c1063800e30a6c81e2764cbf /src/drivers/usb/xhci.c | |
parent | [ncm] Add support for CDC-NCM USB Ethernet devices (diff) | |
download | ipxe-66048e3214adc8de4fff3beae1aa34facf307611.tar.gz ipxe-66048e3214adc8de4fff3beae1aa34facf307611.tar.xz ipxe-66048e3214adc8de4fff3beae1aa34facf307611.zip |
[usb] Report xHCI host controller events
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/usb/xhci.c')
-rw-r--r-- | src/drivers/usb/xhci.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/drivers/usb/xhci.c b/src/drivers/usb/xhci.c index b36e7799..cdebc47d 100644 --- a/src/drivers/usb/xhci.c +++ b/src/drivers/usb/xhci.c @@ -1616,6 +1616,22 @@ static void xhci_port_status ( struct xhci_device *xhci, } /** + * Handle host controller event + * + * @v xhci xHCI device + * @v host Host controller event + */ +static void xhci_host_controller ( struct xhci_device *xhci, + struct xhci_trb_host_controller *host ) { + int rc; + + /* Construct error */ + rc = -ECODE ( host->code ); + DBGC ( xhci, "XHCI %p host controller event (code %d): %s\n", + xhci, host->code, strerror ( rc ) ); +} + +/** * Poll event ring * * @v xhci xHCI device @@ -1656,6 +1672,10 @@ static void xhci_event_poll ( struct xhci_device *xhci ) { xhci_port_status ( xhci, &trb->port ); break; + case XHCI_TRB_HOST_CONTROLLER: + xhci_host_controller ( xhci, &trb->host ); + break; + default: DBGC ( xhci, "XHCI %p unrecognised event %#x\n:", xhci, event->cons ); |