Index: uspace/drv/uhci-hcd/iface.c
===================================================================
--- uspace/drv/uhci-hcd/iface.c	(revision 8148ee3ab563a9e7f7419a2b70db63e2cb64c6fc)
+++ uspace/drv/uhci-hcd/iface.c	(revision c4e3b1f7e7e68b2a0742a03f3db780b17cf27eeb)
@@ -148,5 +148,4 @@
 	assert(hc);
 	const size_t size = max_packet_size;
-	int ret;
 	usb_speed_t speed = usb_device_keeper_get_speed(&hc->manager, address);
 	if (speed >= USB_SPEED_MAX) {
@@ -157,20 +156,6 @@
 	    usb_str_speed(speed), direction, size, max_packet_size, interval);
 
-
-	endpoint_t *ep = malloc(sizeof(endpoint_t));
-	if (ep == NULL)
-		return ENOMEM;
-	ret = endpoint_init(ep, address, endpoint, direction,
-	    transfer_type, speed, max_packet_size);
-	if (ret != EOK) {
-		free(ep);
-		return ret;
-	}
-
-	ret = usb_endpoint_manager_register_ep(&hc->ep_manager, ep, size);
-	if (ret != EOK) {
-		endpoint_destroy(ep);
-	}
-	return ret;
+	return usb_endpoint_manager_add_ep(&hc->ep_manager, address, endpoint,
+	    direction, transfer_type, speed, max_packet_size, size);
 }
 /*----------------------------------------------------------------------------*/
