Index: uspace/drv/bus/usb/ehci/hw_struct/queue_head.c
===================================================================
--- uspace/drv/bus/usb/ehci/hw_struct/queue_head.c	(revision 3de7a6235f59404fe29b5e6146634adbfaf9e3bf)
+++ uspace/drv/bus/usb/ehci/hw_struct/queue_head.c	(revision 4e732f1aa54271f1ae2860aba3864e766f33cddc)
@@ -79,11 +79,10 @@
 	}
 
-	// TODO Fix 'multi' 1 packet should be safe. Probably won't work
-	// without enabling parking mode in async schedule
 	// TODO Figure out how to correctly use CMASK and SMASK for LS/FS
 	// INT transfers. Current values are just guesses
-	/* Setting TT stuff on HS endpoints is OK, the fields are ignored */
+	/* Setting TT stuff on HS endpoints is OK, the fields are ignored,
+	 * and so is setting multi on async (should be 1 anyway)*/
 	EHCI_MEM32_WR(instance->ep_cap,
-	    QH_EP_CAP_MULTI_SET(1) |
+	    QH_EP_CAP_MULTI_SET(ep->packets) |
 	    QH_EP_CAP_TT_PORT_SET(ep->tt.port) |
 	    QH_EP_CAP_TT_ADDR_SET(ep->tt.address) |
Index: uspace/drv/bus/usb/ehci/hw_struct/queue_head.h
===================================================================
--- uspace/drv/bus/usb/ehci/hw_struct/queue_head.h	(revision 3de7a6235f59404fe29b5e6146634adbfaf9e3bf)
+++ uspace/drv/bus/usb/ehci/hw_struct/queue_head.h	(revision 4e732f1aa54271f1ae2860aba3864e766f33cddc)
@@ -39,4 +39,5 @@
 #include <usb/host/endpoint.h>
 
+#include "../utils/malloc32.h"
 #include "link_pointer.h"
 #include "mem_access.h"
