Index: uspace/drv/ohci/root_hub.c
===================================================================
--- uspace/drv/ohci/root_hub.c	(revision 6a32665dcadd5b1be567dad953c6c8ad45104b65)
+++ uspace/drv/ohci/root_hub.c	(revision cd1cec3bc8deaa31b192d8430abb26ebf75ce6f3)
@@ -761,5 +761,5 @@
 		opResult = EINVAL;
 	}
-	usb_transfer_batch_finish(request, opResult);
+	usb_transfer_batch_finish_error(request, opResult);
 	return EOK;
 }
Index: uspace/drv/uhci-hcd/hc.c
===================================================================
--- uspace/drv/uhci-hcd/hc.c	(revision 6a32665dcadd5b1be567dad953c6c8ad45104b65)
+++ uspace/drv/uhci-hcd/hc.c	(revision cd1cec3bc8deaa31b192d8430abb26ebf75ce6f3)
@@ -381,19 +381,9 @@
 			case USB_TRANSFER_INTERRUPT:
 			case USB_TRANSFER_ISOCHRONOUS: {
-/*
-				int ret = bandwidth_free(&instance->bandwidth,
-				    batch->target.address,
-				    batch->target.endpoint,
-				    batch->direction);
-				if (ret != EOK)
-					usb_log_warning("Failed(%d) to free "
-					    "reserved bw: %s.\n", ret,
-					    str_error(ret));
-*/
 				}
 			default:
 				break;
 			}
-			batch->next_step(batch);
+			usb_transfer_batch_finish(batch);
 		}
 	}
Index: uspace/drv/uhci-hcd/transfer_list.c
===================================================================
--- uspace/drv/uhci-hcd/transfer_list.c	(revision 6a32665dcadd5b1be567dad953c6c8ad45104b65)
+++ uspace/drv/uhci-hcd/transfer_list.c	(revision cd1cec3bc8deaa31b192d8430abb26ebf75ce6f3)
@@ -176,5 +176,5 @@
 		    list_get_instance(current, usb_transfer_batch_t, link);
 		transfer_list_remove_batch(instance, batch);
-		usb_transfer_batch_finish(batch, EIO);
+		usb_transfer_batch_finish_error(batch, EIO);
 	}
 	fibril_mutex_unlock(&instance->guard);
Index: uspace/lib/usb/include/usb/host/batch.h
===================================================================
--- uspace/lib/usb/include/usb/host/batch.h	(revision 6a32665dcadd5b1be567dad953c6c8ad45104b65)
+++ uspace/lib/usb/include/usb/host/batch.h	(revision cd1cec3bc8deaa31b192d8430abb26ebf75ce6f3)
@@ -92,5 +92,13 @@
 void usb_transfer_batch_call_in(usb_transfer_batch_t *instance);
 void usb_transfer_batch_call_out(usb_transfer_batch_t *instance);
-void usb_transfer_batch_finish(usb_transfer_batch_t *instance, int error);
+void usb_transfer_batch_finish(usb_transfer_batch_t *instance);
+
+static inline void usb_transfer_batch_finish_error(
+    usb_transfer_batch_t *instance, int error)
+{
+	assert(instance);
+	instance->error = error;
+	usb_transfer_batch_finish(instance);
+}
 
 #endif
Index: uspace/lib/usb/src/host/batch.c
===================================================================
--- uspace/lib/usb/src/host/batch.c	(revision 6a32665dcadd5b1be567dad953c6c8ad45104b65)
+++ uspace/lib/usb/src/host/batch.c	(revision cd1cec3bc8deaa31b192d8430abb26ebf75ce6f3)
@@ -86,8 +86,7 @@
  *
  */
-void usb_transfer_batch_finish(usb_transfer_batch_t *instance, int error)
+void usb_transfer_batch_finish(usb_transfer_batch_t *instance)
 {
 	assert(instance);
-	instance->error = error;
 	instance->next_step(instance);
 }
