Index: uspace/lib/usbdev/src/pipes.c
===================================================================
--- uspace/lib/usbdev/src/pipes.c	(revision 41df71f99dd4001594df602dcc612186bdf02430)
+++ uspace/lib/usbdev/src/pipes.c	(revision 81ee1009bf5531c24e41059e88d7da25fa6d7889)
@@ -255,7 +255,8 @@
     usb_transfer_type_t transfer_type, size_t max_packet_size,
     usb_direction_t direction, unsigned packets,
-    unsigned max_burst, unsigned max_streams, usb_dev_session_t *bus_session)
-{
-	// FIXME refactor this function
+    unsigned max_burst, unsigned max_streams, unsigned bytes_per_interval,
+	unsigned mult, usb_dev_session_t *bus_session)
+{
+	// FIXME: refactor this function PLEASE
 	assert(pipe);
 
@@ -267,4 +268,6 @@
 	pipe->desc.usb3.max_burst = max_burst;
 	pipe->desc.usb3.max_streams = max_streams;
+	pipe->desc.usb3.mult = mult;
+	pipe->desc.usb3.bytes_per_interval = bytes_per_interval;
 	pipe->auto_reset_halt = false;
 	pipe->bus_session = bus_session;
@@ -284,5 +287,5 @@
 
 	const int rc = usb_pipe_initialize(pipe, 0, USB_TRANSFER_CONTROL,
-	    CTRL_PIPE_MIN_PACKET_SIZE, USB_DIRECTION_BOTH, 1, 0, 0, bus_session);
+	    CTRL_PIPE_MIN_PACKET_SIZE, USB_DIRECTION_BOTH, 1, 0, 0, 0, 0, bus_session);
 
 	pipe->auto_reset_halt = true;
Index: uspace/lib/usbdev/src/pipesinit.c
===================================================================
--- uspace/lib/usbdev/src/pipesinit.c	(revision 41df71f99dd4001594df602dcc612186bdf02430)
+++ uspace/lib/usbdev/src/pipesinit.c	(revision 81ee1009bf5531c24e41059e88d7da25fa6d7889)
@@ -210,9 +210,15 @@
 	unsigned max_burst = 0;
 	unsigned max_streams = 0;
+	unsigned bytes_per_interval = 0;
+	unsigned mult = 0;
 	if(companion_desc) {
 		max_burst = companion_desc->max_burst;
 		max_streams = SS_COMPANION_MAX_STREAMS(companion_desc->attributes);
-	}
-
+		bytes_per_interval = companion_desc->bytes_per_interval;
+		mult = SS_COMPANION_MULT(companion_desc->attributes);
+	}
+
+	// FIXME: USB2 packets and USB3 max_burst are probably the same thing
+	// See 4.14.2.1.1 of XHCI specification -> possibly refactor into one somehow-named field
 	int rc = usb_pipe_initialize(&ep_mapping->pipe,
 	    ep_no, description.transfer_type,
@@ -221,5 +227,5 @@
 	    description.direction, ED_MPS_TRANS_OPPORTUNITIES_GET(
 	        uint16_usb2host(endpoint_desc->max_packet_size)),
-	    max_burst, max_streams, bus_session);
+	    max_burst, max_streams, bytes_per_interval, mult, bus_session);
 	if (rc != EOK) {
 		return rc;
