Index: uspace/lib/usbhost/src/usb_endpoint_manager.c
===================================================================
--- uspace/lib/usbhost/src/usb_endpoint_manager.c	(revision 709986181d79d64cbed458a50b00455f6433a17a)
+++ uspace/lib/usbhost/src/usb_endpoint_manager.c	(revision 933b0d760aedebe826978c54aa34c8620f237fb8)
@@ -140,9 +140,11 @@
 /*----------------------------------------------------------------------------*/
 int usb_endpoint_manager_init(usb_endpoint_manager_t *instance,
-    size_t available_bandwidth)
+    size_t available_bandwidth,
+    size_t (*bw_count)(usb_speed_t, usb_transfer_type_t, size_t, size_t))
 {
 	assert(instance);
 	fibril_mutex_initialize(&instance->guard);
 	instance->free_bw = available_bandwidth;
+	instance->bw_count = bw_count;
 	const bool ht =
 	    hash_table_create(&instance->ep_table, BUCKET_COUNT, MAX_KEYS, &op);
@@ -158,8 +160,9 @@
     endpoint_t *ep, size_t data_size)
 {
+	assert(instance);
+	assert(instance->bw_count);
 	assert(ep);
-	const size_t bw = bandwidth_count_usb11(ep->speed, ep->transfer_type,
+	const size_t bw = instance->bw_count(ep->speed, ep->transfer_type,
 	    data_size, ep->max_packet_size);
-	assert(instance);
 
 	fibril_mutex_lock(&instance->guard);
