Index: uspace/drv/bus/usb/usbhub/usbhub.c
===================================================================
--- uspace/drv/bus/usb/usbhub/usbhub.c	(revision b3433a25a941b012b6e8e37fa2c00a8e4e2ea6ee)
+++ uspace/drv/bus/usb/usbhub/usbhub.c	(revision bba0f1fcaf42b574cae40dc9fa0c90840c5569fb)
@@ -59,7 +59,7 @@
 /** Standard get hub global status request */
 static const usb_device_request_setup_packet_t get_hub_status_request = {
-	.index = 0,
 	.request_type = USB_HUB_REQ_TYPE_GET_HUB_STATUS,
 	.request = USB_HUB_REQUEST_GET_STATUS,
+	.index = 0,
 	.value = 0,
 	.length = sizeof(usb_hub_status_t),
@@ -441,9 +441,11 @@
 		 * Just ACK the change.
 		 */
-		const int opResult = usb_hub_clear_feature(
-		    control_pipe, USB_HUB_FEATURE_C_HUB_LOCAL_POWER);
+		const int opResult = usb_request_clear_feature(
+		    control_pipe, USB_REQUEST_TYPE_CLASS,
+		    USB_REQUEST_RECIPIENT_DEVICE,
+		    USB_HUB_FEATURE_C_HUB_LOCAL_POWER, 0);
 		if (opResult != EOK) {
-			usb_log_error("Cannot clear hub power change flag: "
-			    "%s\n",
+			usb_log_error(
+			    "Failed to clear hub power change flag: %s.\n",
 			    str_error(opResult));
 		}
Index: uspace/drv/bus/usb/usbhub/utils.h
===================================================================
--- uspace/drv/bus/usb/usbhub/utils.h	(revision b3433a25a941b012b6e8e37fa2c00a8e4e2ea6ee)
+++ uspace/drv/bus/usb/usbhub/utils.h	(revision bba0f1fcaf42b574cae40dc9fa0c90840c5569fb)
@@ -50,27 +50,4 @@
 #include "usbhub.h"
 
-//************
-//
-// convenience define for malloc
-//
-//************
-
-/**
- * Set the device request to be a get hub descriptor request.
- * @warning the size is allways set to USB_HUB_MAX_DESCRIPTOR_SIZE
- * @param request
- * @param addr
- */
-static inline void usb_hub_set_descriptor_request(
-    usb_device_request_setup_packet_t *request )
-{
-	request->index = 0;
-	request->request_type = USB_HUB_REQ_TYPE_GET_DESCRIPTOR;
-	request->request = USB_HUB_REQUEST_GET_DESCRIPTOR;
-	request->value_high = USB_DESCTYPE_HUB;
-	request->value_low = 0;
-	request->length = USB_HUB_MAX_DESCRIPTOR_SIZE;
-}
-
 /**
  * Clear feature on hub port.
@@ -121,47 +98,4 @@
 }
 
-/**
- * Clear feature on hub port.
- *
- * @param pipe pipe to hub control endpoint
- * @param feature Feature selector
- * @return Operation result
- */
-static inline int usb_hub_clear_feature(usb_pipe_t *pipe,
-    usb_hub_class_feature_t feature) {
-
-	usb_device_request_setup_packet_t clear_request = {
-		.request_type = USB_HUB_REQ_TYPE_CLEAR_HUB_FEATURE,
-		.request = USB_DEVREQ_CLEAR_FEATURE,
-		.length = 0,
-		.index = 0
-	};
-	clear_request.value = feature;
-	return usb_pipe_control_write(pipe, &clear_request,
-	    sizeof (clear_request), NULL, 0);
-}
-
-/**
- * Clear feature on hub port.
- *
- * @param pipe pipe to hub control endpoint
- * @param feature Feature selector
- * @return Operation result
- */
-static inline int usb_hub_set_feature(usb_pipe_t *pipe,
-    usb_hub_class_feature_t feature)
-{
-
-	usb_device_request_setup_packet_t clear_request = {
-		.request_type = USB_HUB_REQ_TYPE_CLEAR_HUB_FEATURE,
-		.request = USB_DEVREQ_SET_FEATURE,
-		.length = 0,
-		.index = 0
-	};
-	clear_request.value = feature;
-	return usb_pipe_control_write(pipe, &clear_request,
-	    sizeof (clear_request), NULL, 0);
-}
-
 void * usb_create_serialized_hub_descriptor(usb_hub_descriptor_t *descriptor);
 
