Index: uspace/drv/bus/usb/ohci/ohci_batch.c
===================================================================
--- uspace/drv/bus/usb/ohci/ohci_batch.c	(revision 058fd76ce2327daf53916738f80114143cfb587c)
+++ uspace/drv/bus/usb/ohci/ohci_batch.c	(revision 790318ee8d20110dfec7d42cb2f2cb821bbb9d0f)
@@ -42,5 +42,5 @@
 #include "utils/malloc32.h"
 
-static void (*const batch_setup[4][3])(ohci_transfer_batch_t*, usb_direction_t);
+static void (*const batch_setup[])(ohci_transfer_batch_t*, usb_direction_t);
 /*----------------------------------------------------------------------------*/
 /** Safely destructs ohci_transfer_batch_t structure
@@ -137,6 +137,6 @@
 
 	const usb_direction_t dir = usb_transfer_batch_direction(usb_batch);
-	assert(batch_setup[usb_batch->ep->transfer_type][dir]);
-	batch_setup[usb_batch->ep->transfer_type][dir](ohci_batch, dir);
+	assert(batch_setup[usb_batch->ep->transfer_type]);
+	batch_setup[usb_batch->ep->transfer_type](ohci_batch, dir);
 
 	return ohci_batch;
@@ -347,10 +347,10 @@
 }
 /*----------------------------------------------------------------------------*/
-static void (*const batch_setup[4][3])(ohci_transfer_batch_t*, usb_direction_t) =
-{
-        { batch_control, batch_control, NULL },
-        { NULL, NULL, NULL },
-        { batch_data, batch_data, NULL },
-        { batch_data, batch_data, NULL },
+static void (*const batch_setup[])(ohci_transfer_batch_t*, usb_direction_t) =
+{
+	[USB_TRANSFER_CONTROL] = batch_control,
+	[USB_TRANSFER_BULK] = batch_data,
+	[USB_TRANSFER_INTERRUPT] = batch_data,
+	[USB_TRANSFER_ISOCHRONOUS] = NULL,
 };
 /**
Index: uspace/drv/bus/usb/uhci/uhci_batch.c
===================================================================
--- uspace/drv/bus/usb/uhci/uhci_batch.c	(revision 058fd76ce2327daf53916738f80114143cfb587c)
+++ uspace/drv/bus/usb/uhci/uhci_batch.c	(revision 790318ee8d20110dfec7d42cb2f2cb821bbb9d0f)
@@ -68,5 +68,5 @@
 }
 /*----------------------------------------------------------------------------*/
-static void (*const batch_setup[4][3])(uhci_transfer_batch_t*, usb_direction_t);
+static void (*const batch_setup[])(uhci_transfer_batch_t*, usb_direction_t);
 /*----------------------------------------------------------------------------*/
 /** Allocate memory and initialize internal data structure.
@@ -141,6 +141,6 @@
 	const usb_direction_t dir = usb_transfer_batch_direction(usb_batch);
 
-	assert(batch_setup[usb_batch->ep->transfer_type][dir]);
-	batch_setup[usb_batch->ep->transfer_type][dir](uhci_batch, dir);
+	assert(batch_setup[usb_batch->ep->transfer_type]);
+	batch_setup[usb_batch->ep->transfer_type](uhci_batch, dir);
 
 	return uhci_batch;
@@ -336,10 +336,10 @@
 }
 /*----------------------------------------------------------------------------*/
-static void (*const batch_setup[4][3])(uhci_transfer_batch_t*, usb_direction_t) =
-{
-	{ batch_control, batch_control, NULL },
-	{ NULL, NULL, NULL },
-	{ batch_data, batch_data, NULL },
-	{ batch_data, batch_data, NULL },
+static void (*const batch_setup[])(uhci_transfer_batch_t*, usb_direction_t) =
+{
+	[USB_TRANSFER_CONTROL] = batch_control,
+	[USB_TRANSFER_BULK] = batch_data,
+	[USB_TRANSFER_INTERRUPT] = batch_data,
+	[USB_TRANSFER_ISOCHRONOUS] = NULL,
 };
 /**
