Index: uspace/lib/usb/src/request.c
===================================================================
--- uspace/lib/usb/src/request.c	(revision 2a11192d860e8688458ccf83c7d3e5c973439afa)
+++ uspace/lib/usb/src/request.c	(revision 787421c2ded8b48766630f5055515b2be79c270c)
@@ -224,14 +224,11 @@
 	}
 
-	PREPARE_SETUP_PACKET_LOHI(setup_packet, USB_DIRECTION_IN,
+	uint16_t wValue = descriptor_index | (descriptor_type << 8);
+
+	return usb_control_request_get(pipe,
 	    request_type, USB_REQUEST_RECIPIENT_DEVICE,
-	    USB_DEVREQ_GET_DESCRIPTOR, descriptor_index, descriptor_type,
-	    language, size);
-
-	int rc = usb_endpoint_pipe_control_read(pipe,
-	    &setup_packet, sizeof(setup_packet),
+	    USB_DEVREQ_GET_DESCRIPTOR,
+	    wValue, language,
 	    buffer, size, actual_size);
-
-	return rc;
 }
 
