diff --git a/src/usb-ehci.c b/src/usb-ehci.c
index 2978072..5717dc6 100644
--- a/src/usb-ehci.c
+++ b/src/usb-ehci.c
@@ -423,17 +423,6 @@
     return 0;
 }
 
-void
-ehci_free_pipe(struct usb_pipe *pipe)
-{
-    if (! CONFIG_USB_EHCI)
-        return;
-    // Add to controller's free list.
-    struct usb_s *cntl = pipe->cntl;
-    pipe->freenext = cntl->freelist;
-    cntl->freelist = pipe;
-}
-
 static struct usb_pipe *
 ehci_alloc_pipe(struct usb_pipe *dummy, int iscontrol)
 {
diff --git a/src/usb-ehci.h b/src/usb-ehci.h
index 1a2c6c7..fd38b73 100644
--- a/src/usb-ehci.h
+++ b/src/usb-ehci.h
@@ -4,7 +4,6 @@
 // usb-ehci.c
 int ehci_init(struct pci_device *pci, int busid, struct pci_device *comppci);
 struct usb_pipe;
-void ehci_free_pipe(struct usb_pipe *p);
 struct usb_pipe *ehci_alloc_control_pipe(struct usb_pipe *dummy);
 int ehci_control(struct usb_pipe *p, int dir, const void *cmd, int cmdsize
                  , void *data, int datasize);
diff --git a/src/usb-ohci.c b/src/usb-ohci.c
index 7a437ad..ac1eb37 100644
--- a/src/usb-ohci.c
+++ b/src/usb-ohci.c
@@ -319,15 +319,6 @@
     }
 }
 
-void
-ohci_free_pipe(struct usb_pipe *pipe)
-{
-    // Add to controller's free list.
-    struct usb_s *cntl = pipe->cntl;
-    pipe->freenext = cntl->freelist;
-    cntl->freelist = pipe;
-}
-
 struct usb_pipe *
 ohci_alloc_control_pipe(struct usb_pipe *dummy)
 {
diff --git a/src/usb-ohci.h b/src/usb-ohci.h
index c7670ff..6162d32 100644
--- a/src/usb-ohci.h
+++ b/src/usb-ohci.h
@@ -4,7 +4,6 @@
 // usb-ohci.c
 void ohci_init(struct pci_device *pci, int busid);
 struct usb_pipe;
-void ohci_free_pipe(struct usb_pipe *p);
 struct usb_pipe *ohci_alloc_control_pipe(struct usb_pipe *dummy);
 int ohci_control(struct usb_pipe *p, int dir, const void *cmd, int cmdsize
                  , void *data, int datasize);
diff --git a/src/usb-uhci.c b/src/usb-uhci.c
index 015b974..4f7fbb4 100644
--- a/src/usb-uhci.c
+++ b/src/usb-uhci.c
@@ -294,17 +294,6 @@
     }
 }
 
-void
-uhci_free_pipe(struct usb_pipe *pipe)
-{
-    if (! CONFIG_USB_UHCI)
-        return;
-    // Add to controller's free list.
-    struct usb_s *cntl = pipe->cntl;
-    pipe->freenext = cntl->freelist;
-    cntl->freelist = pipe;
-}
-
 static struct usb_pipe *
 uhci_alloc_pipe(struct usb_pipe *dummy, int iscontrol)
 {
diff --git a/src/usb-uhci.h b/src/usb-uhci.h
index b5f70f7..59b190d 100644
--- a/src/usb-uhci.h
+++ b/src/usb-uhci.h
@@ -4,7 +4,6 @@
 // usb-uhci.c
 void uhci_init(struct pci_device *pci, int busid);
 struct usb_pipe;
-void uhci_free_pipe(struct usb_pipe *p);
 struct usb_pipe *uhci_alloc_control_pipe(struct usb_pipe *dummy);
 int uhci_control(struct usb_pipe *p, int dir, const void *cmd, int cmdsize
                  , void *data, int datasize);
diff --git a/src/usb.c b/src/usb.c
index 1f69d16..f522e1a 100644
--- a/src/usb.c
+++ b/src/usb.c
@@ -30,15 +30,10 @@
     ASSERT32FLAT();
     if (!pipe)
         return;
-    switch (pipe->type) {
-    default:
-    case USB_TYPE_UHCI:
-        return uhci_free_pipe(pipe);
-    case USB_TYPE_OHCI:
-        return ohci_free_pipe(pipe);
-    case USB_TYPE_EHCI:
-        return ehci_free_pipe(pipe);
-    }
+    // Add to controller's free list.
+    struct usb_s *cntl = pipe->cntl;
+    pipe->freenext = cntl->freelist;
+    cntl->freelist = pipe;
 }
 
 // Allocate a control pipe to a default endpoint (which can only be
