Index: uspace/lib/usbhost/src/ddf_helpers.c
===================================================================
--- uspace/lib/usbhost/src/ddf_helpers.c	(revision 9ff59981df1c8430ceefaa186663be82d468a9ce)
+++ uspace/lib/usbhost/src/ddf_helpers.c	(revision 296fcce4d5fb9f9a742e7de86df6c87aa9202f74)
@@ -110,5 +110,5 @@
     ddf_fun_t *fun, usb_endpoint_t endpoint,
     usb_transfer_type_t transfer_type, usb_direction_t direction,
-    size_t max_packet_size, unsigned interval)
+    size_t max_packet_size, unsigned packets, unsigned interval)
 {
 	assert(fun);
@@ -126,5 +126,5 @@
 
 	return hcd_add_ep(hcd, target, direction, transfer_type,
-	    max_packet_size, size, dev->tt_address, dev->port);
+	    max_packet_size, packets, size, dev->tt_address, dev->port);
 }
 
@@ -491,5 +491,5 @@
 	ret = hcd_add_ep(hcd,
 	    default_target, USB_DIRECTION_BOTH, USB_TRANSFER_CONTROL,
-	    CTRL_PIPE_MIN_PACKET_SIZE, CTRL_PIPE_MIN_PACKET_SIZE,
+	    CTRL_PIPE_MIN_PACKET_SIZE, CTRL_PIPE_MIN_PACKET_SIZE, 1,
 	    tt_address, port);
 
@@ -517,5 +517,8 @@
 	/* Register EP on the new address */
 	ret = hcd_add_ep(hcd, target, USB_DIRECTION_BOTH, USB_TRANSFER_CONTROL,
-	    desc.max_packet_size, desc.max_packet_size, tt_address, port);
+	    ED_MPS_PACKET_SIZE_GET(uint16_usb2host(desc.max_packet_size)),
+	    ED_MPS_TRANS_OPPORTUNITIES_GET(uint16_usb2host(desc.max_packet_size)),
+	    ED_MPS_PACKET_SIZE_GET(uint16_usb2host(desc.max_packet_size)),
+	    tt_address, port);
 	if (ret != EOK) {
 		hcd_remove_ep(hcd, default_target, USB_DIRECTION_BOTH);
