Index: uspace/lib/usb/include/usb/devdrv.h
===================================================================
--- uspace/lib/usb/include/usb/devdrv.h	(revision 411d9fa589ed978fb0d8703495baca3261d1401c)
+++ uspace/lib/usb/include/usb/devdrv.h	(revision 33577f813dd0fb39d714910b93e1987c5b236aed)
@@ -79,5 +79,10 @@
 	 */
 	const char *name;
-	/** Expected endpoints description. */
+	/** Expected endpoints description, excluding default control endpoint.
+	 *
+	 * It MUST be of size expected_enpoints_count(excluding default ctrl) + 1
+	 * where the last record MUST BE NULL, otherwise catastrophic things may
+	 * happen.
+	 */
 	usb_endpoint_description_t **endpoints;
 	/** Driver ops. */
Index: uspace/lib/usb/src/devdrv.c
===================================================================
--- uspace/lib/usb/src/devdrv.c	(revision 411d9fa589ed978fb0d8703495baca3261d1401c)
+++ uspace/lib/usb/src/devdrv.c	(revision 33577f813dd0fb39d714910b93e1987c5b236aed)
@@ -206,5 +206,5 @@
  * @return Error code.
  */
-static int initialize_pipes(usb_driver_t *drv, usb_device_t *dev)
+static int initialize_pipes(usb_device_t *dev)
 {
 	int rc;
@@ -284,5 +284,5 @@
 	dev->driver_data = NULL;
 
-	rc = initialize_pipes(driver, dev);
+	rc = initialize_pipes(dev);
 	if (rc != EOK) {
 		free(dev);
