Index: uspace/drv/ehci-hcd/hc_iface.c
===================================================================
--- uspace/drv/ehci-hcd/hc_iface.c	(revision 6ab7f3e94742316cc6a565a1bcb864ad3709c914)
+++ uspace/drv/ehci-hcd/hc_iface.c	(revision 9506795473b06450878c5d451453e842455bc0d5)
@@ -48,32 +48,4 @@
 	    methodname, __FILE__, __LINE__)
 
-/** Reserve default address.
- *
- * This function may block the caller.
- *
- * @param[in] fun Device function the action was invoked on.
- * @param[in] speed Speed of the device for which the default address is
- *	reserved.
- * @return Error code.
- */
-static int reserve_default_address(ddf_fun_t *fun, usb_speed_t speed)
-{
-	UNSUPPORTED("reserve_default_address");
-
-	return ENOTSUP;
-}
-
-/** Release default address.
- *
- * @param[in] fun Device function the action was invoked on.
- * @return Error code.
- */
-static int release_default_address(ddf_fun_t *fun)
-{
-	UNSUPPORTED("release_default_address");
-
-	return ENOTSUP;
-}
-
 /** Found free USB address.
  *
@@ -332,6 +304,4 @@
 /** Host controller interface implementation for EHCI. */
 usbhc_iface_t ehci_hc_iface = {
-	.reserve_default_address = reserve_default_address,
-	.release_default_address = release_default_address,
 	.request_address = request_address,
 	.bind_address = bind_address,
Index: uspace/drv/usbhub/usbhub.c
===================================================================
--- uspace/drv/usbhub/usbhub.c	(revision 6ab7f3e94742316cc6a565a1bcb864ad3709c914)
+++ uspace/drv/usbhub/usbhub.c	(revision 9506795473b06450878c5d451453e842455bc0d5)
@@ -515,4 +515,6 @@
 	fibril_mutex_unlock(&hub->pending_ops_mutex);
 
+	usb_device_destroy(hub->usb_device);
+
 	free(hub->ports);
 	free(hub);
Index: uspace/drv/usbmouse/init.c
===================================================================
--- uspace/drv/usbmouse/init.c	(revision 6ab7f3e94742316cc6a565a1bcb864ad3709c914)
+++ uspace/drv/usbmouse/init.c	(revision 9506795473b06450878c5d451453e842455bc0d5)
@@ -39,4 +39,5 @@
 #include <usb/hid/hid.h>
 #include <usb/dev/request.h>
+#include <usb/hid/request.h>
 #include <errno.h>
 
@@ -126,8 +127,6 @@
 	
 	/* Set the boot protocol. */
-	rc = usb_control_request_set(&dev->ctrl_pipe,
-	    USB_REQUEST_TYPE_CLASS, USB_REQUEST_RECIPIENT_INTERFACE,
-	    USB_HIDREQ_SET_PROTOCOL, USB_HID_PROTOCOL_BOOT, dev->interface_no,
-	    NULL, 0);
+	rc = usbhid_req_set_protocol(&dev->ctrl_pipe, dev->interface_no,
+	    USB_HID_PROTOCOL_BOOT);
 	if (rc != EOK) {
 		goto leave;
Index: uspace/drv/usbmouse/mouse.c
===================================================================
--- uspace/drv/usbmouse/mouse.c	(revision 6ab7f3e94742316cc6a565a1bcb864ad3709c914)
+++ uspace/drv/usbmouse/mouse.c	(revision 9506795473b06450878c5d451453e842455bc0d5)
@@ -117,4 +117,6 @@
 	async_hangup(mouse->console_phone);
 	mouse->console_phone = -1;
+
+	usb_device_destroy(dev);
 }
 
