Index: uspace/lib/usbdev/src/pipes.c
===================================================================
--- uspace/lib/usbdev/src/pipes.c	(revision bd41b192a295c4df5b29163006e1140d3b30506a)
+++ uspace/lib/usbdev/src/pipes.c	(revision fdaaad00506b3884f8ea1a4ac9166ad350f5e92c)
@@ -254,5 +254,5 @@
 int usb_pipe_initialize(usb_pipe_t *pipe, usb_endpoint_t endpoint_no,
     usb_transfer_type_t transfer_type, size_t max_packet_size,
-    usb_direction_t direction, usb_dev_session_t *bus_session)
+    usb_direction_t direction, unsigned packets, usb_dev_session_t *bus_session)
 {
 	assert(pipe);
@@ -260,4 +260,5 @@
 	pipe->endpoint_no = endpoint_no;
 	pipe->transfer_type = transfer_type;
+	pipe->packets = packets;
 	pipe->max_packet_size = max_packet_size;
 	pipe->direction = direction;
@@ -279,5 +280,5 @@
 
 	const int rc = usb_pipe_initialize(pipe, 0, USB_TRANSFER_CONTROL,
-	    CTRL_PIPE_MIN_PACKET_SIZE, USB_DIRECTION_BOTH, bus_session);
+	    CTRL_PIPE_MIN_PACKET_SIZE, USB_DIRECTION_BOTH, 1, bus_session);
 
 	pipe->auto_reset_halt = true;
@@ -301,5 +302,5 @@
 	const int ret = usb_register_endpoint(exch, pipe->endpoint_no,
 	    pipe->transfer_type, pipe->direction, pipe->max_packet_size,
-	    interval);
+	    pipe->packets, interval);
 	async_exchange_end(exch);
 	return ret;
Index: uspace/lib/usbdev/src/pipesinit.c
===================================================================
--- uspace/lib/usbdev/src/pipesinit.c	(revision bd41b192a295c4df5b29163006e1140d3b30506a)
+++ uspace/lib/usbdev/src/pipesinit.c	(revision fdaaad00506b3884f8ea1a4ac9166ad350f5e92c)
@@ -196,6 +196,9 @@
 	int rc = usb_pipe_initialize(&ep_mapping->pipe,
 	    ep_no, description.transfer_type,
-	    uint16_usb2host(endpoint_desc->max_packet_size),
-	    description.direction, bus_session);
+	    ED_MPS_PACKET_SIZE_GET(
+	        uint16_usb2host(endpoint_desc->max_packet_size)),
+	    description.direction,
+	    ED_MPS_TRANS_OPPORTUNITIES_GET(
+	        uint16_usb2host(endpoint_desc->max_packet_size)), bus_session);
 	if (rc != EOK) {
 		return rc;
