Index: uspace/lib/usb/include/usb/pipes.h
===================================================================
--- uspace/lib/usb/include/usb/pipes.h	(revision cd50486158e5bc74cdda1e5e50767805768abfb3)
+++ uspace/lib/usb/include/usb/pipes.h	(revision 25971d214bc12404db3978b7ab9c554b19eddaec)
@@ -74,4 +74,7 @@
 	usb_direction_t direction;
 
+	/** Maximum packet size for the endpoint. */
+	size_t max_packet_size;
+
 	/** Phone to the host controller.
 	 * Negative when no session is active.
@@ -118,5 +121,5 @@
 int usb_endpoint_pipe_initialize(usb_endpoint_pipe_t *,
     usb_device_connection_t *,
-    usb_endpoint_t, usb_transfer_type_t, usb_direction_t);
+    usb_endpoint_t, usb_transfer_type_t, size_t, usb_direction_t);
 int usb_endpoint_pipe_initialize_default_control(usb_endpoint_pipe_t *,
     usb_device_connection_t *);
Index: uspace/lib/usb/src/pipes.c
===================================================================
--- uspace/lib/usb/src/pipes.c	(revision cd50486158e5bc74cdda1e5e50767805768abfb3)
+++ uspace/lib/usb/src/pipes.c	(revision 25971d214bc12404db3978b7ab9c554b19eddaec)
@@ -123,4 +123,5 @@
  * @param endpoint_no Endpoint number (in USB 1.1 in range 0 to 15).
  * @param transfer_type Transfer type (e.g. interrupt or bulk).
+ * @param max_packet_size Maximum packet size in bytes.
  * @param direction Endpoint direction (in/out).
  * @return Error code.
@@ -128,5 +129,6 @@
 int usb_endpoint_pipe_initialize(usb_endpoint_pipe_t *pipe,
     usb_device_connection_t *connection, usb_endpoint_t endpoint_no,
-    usb_transfer_type_t transfer_type, usb_direction_t direction)
+    usb_transfer_type_t transfer_type, size_t max_packet_size,
+    usb_direction_t direction)
 {
 	assert(pipe);
@@ -137,4 +139,5 @@
 	pipe->endpoint_no = endpoint_no;
 	pipe->transfer_type = transfer_type;
+	pipe->max_packet_size = max_packet_size;
 	pipe->direction = direction;
 
@@ -156,5 +159,5 @@
 
 	int rc = usb_endpoint_pipe_initialize(pipe, connection,
-	    0, USB_TRANSFER_CONTROL, USB_DIRECTION_BOTH);
+	    0, USB_TRANSFER_CONTROL, 8, USB_DIRECTION_BOTH);
 
 	return rc;
Index: uspace/lib/usb/src/pipesinit.c
===================================================================
--- uspace/lib/usb/src/pipesinit.c	(revision cd50486158e5bc74cdda1e5e50767805768abfb3)
+++ uspace/lib/usb/src/pipesinit.c	(revision 25971d214bc12404db3978b7ab9c554b19eddaec)
@@ -182,5 +182,6 @@
 
 	int rc = usb_endpoint_pipe_initialize(ep_mapping->pipe, wire,
-	    ep_no, description.transfer_type, description.direction);
+	    ep_no, description.transfer_type, endpoint->max_packet_size,
+	    description.direction);
 	if (rc != EOK) {
 		return rc;
