Index: uspace/lib/usbhost/include/usb/host/ddf_helpers.h
===================================================================
--- uspace/lib/usbhost/include/usb/host/ddf_helpers.h	(revision cce322885f9fa736b3285a8752bc143105ef9d9c)
+++ uspace/lib/usbhost/include/usb/host/ddf_helpers.h	(revision cb8ede11b12530a5fd1600e898b7cb5172418296)
@@ -45,5 +45,5 @@
 int hcd_ddf_setup_device(ddf_dev_t *device, ddf_fun_t **hc_fun,
     usb_speed_t max_speed, size_t bw, bw_count_func_t bw_count);
-int hcd_ddf_setup_root_hub(ddf_dev_t *dev, usb_speed_t speed);
+int hcd_ddf_setup_root_hub(ddf_dev_t *device);
 int hcd_ddf_new_device(ddf_dev_t *device, usb_address_t *address);
 int hcd_ddf_remove_device(ddf_dev_t *device, usb_address_t address);
Index: uspace/lib/usbhost/src/ddf_helpers.c
===================================================================
--- uspace/lib/usbhost/src/ddf_helpers.c	(revision cce322885f9fa736b3285a8752bc143105ef9d9c)
+++ uspace/lib/usbhost/src/ddf_helpers.c	(revision cb8ede11b12530a5fd1600e898b7cb5172418296)
@@ -579,12 +579,13 @@
  *
  * @param[in] device Host controller ddf device
- * @param[in] speed roothub communication speed
  * @return Error code
  */
-int hcd_ddf_setup_root_hub(ddf_dev_t *device, usb_speed_t speed)
+int hcd_ddf_setup_root_hub(ddf_dev_t *device)
 {
 	assert(device);
 	hcd_t *hcd = dev_to_hcd(device);
 	assert(hcd);
+
+	const usb_speed_t speed = hcd->ep_manager.max_speed;
 
 	hcd_reserve_default_address(hcd, speed);
