aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/usb/xhci.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/usb/xhci.c')
-rw-r--r--src/drivers/usb/xhci.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/drivers/usb/xhci.c b/src/drivers/usb/xhci.c
index a940a73a..69d621d9 100644
--- a/src/drivers/usb/xhci.c
+++ b/src/drivers/usb/xhci.c
@@ -2992,6 +2992,25 @@ static int xhci_hub_speed ( struct usb_hub *hub, struct usb_port *port ) {
return 0;
}
+/**
+ * Clear transaction translator buffer
+ *
+ * @v hub USB hub
+ * @v port USB port
+ * @v ep USB endpoint
+ * @ret rc Return status code
+ */
+static int xhci_hub_clear_tt ( struct usb_hub *hub, struct usb_port *port,
+ struct usb_endpoint *ep ) {
+ struct ehci_device *ehci = usb_hub_get_drvdata ( hub );
+
+ /* Should never be called; this is a root hub */
+ DBGC ( ehci, "XHCI %p port %d nonsensical CLEAR_TT for %s endpoint "
+ "%02x\n", ehci, port->address, ep->usb->name, ep->address );
+
+ return -ENOTSUP;
+}
+
/******************************************************************************
*
* PCI interface
@@ -3025,6 +3044,7 @@ static struct usb_host_operations xhci_operations = {
.enable = xhci_hub_enable,
.disable = xhci_hub_disable,
.speed = xhci_hub_speed,
+ .clear_tt = xhci_hub_clear_tt,
},
};