Index: uspace/drv/vhc/connhost.c
===================================================================
--- uspace/drv/vhc/connhost.c	(revision 55f690cfe3642902c64342ac8b3dc594d12cef29)
+++ uspace/drv/vhc/connhost.c	(revision daec5e040866d98092cd5eb8a58caf8a53168566)
@@ -64,5 +64,5 @@
 
 static void universal_callback(void *buffer, size_t size,
-    usb_transaction_outcome_t outcome, void *arg)
+    int outcome, void *arg)
 {
 	transfer_info_t *transfer = (transfer_info_t *) arg;
@@ -107,5 +107,5 @@
 
 static void control_abort_prematurely(control_transfer_info_t *transfer,
-    size_t size, usb_transaction_outcome_t outcome)
+    size_t size, int outcome)
 {
 	switch (transfer->direction) {
@@ -127,9 +127,9 @@
 
 static void control_callback_two(void *buffer, size_t size,
-    usb_transaction_outcome_t outcome, void *arg)
+    int outcome, void *arg)
 {
 	control_transfer_info_t *ctrl_transfer = (control_transfer_info_t *) arg;
 
-	if (outcome != USB_OUTCOME_OK) {
+	if (outcome != EOK) {
 		control_abort_prematurely(ctrl_transfer, outcome, size);
 		free(ctrl_transfer);
@@ -165,9 +165,9 @@
 
 static void control_callback_one(void *buffer, size_t size,
-    usb_transaction_outcome_t outcome, void *arg)
+    int outcome, void *arg)
 {
 	control_transfer_info_t *transfer = (control_transfer_info_t *) arg;
 
-	if (outcome != USB_OUTCOME_OK) {
+	if (outcome != EOK) {
 		control_abort_prematurely(transfer, outcome, size);
 		free(transfer);
Index: uspace/drv/vhc/devices.c
===================================================================
--- uspace/drv/vhc/devices.c	(revision 55f690cfe3642902c64342ac8b3dc594d12cef29)
+++ uspace/drv/vhc/devices.c	(revision daec5e040866d98092cd5eb8a58caf8a53168566)
@@ -112,5 +112,5 @@
  * @param transaction Transaction to be sent over the bus.
  */
-usb_transaction_outcome_t virtdev_send_to_all(transaction_t *transaction)
+int virtdev_send_to_all(transaction_t *transaction)
 {
 	/* For easier debugging. */
@@ -126,5 +126,5 @@
 			assert(false && "unreachable branch in switch()");
 	}
-	usb_transaction_outcome_t outcome = USB_OUTCOME_BABBLE;
+	int outcome = EBADCHECKSUM;
 
 	link_t *pos;
@@ -185,5 +185,5 @@
 		 */
 		if (rc == EOK) {
-			outcome = USB_OUTCOME_OK;
+			outcome = EOK;
 		}
 	}
@@ -221,5 +221,5 @@
 				break;
 		}
-		outcome = USB_OUTCOME_OK;
+		outcome = EOK;
 	}
 	
Index: uspace/drv/vhc/devices.h
===================================================================
--- uspace/drv/vhc/devices.h	(revision 55f690cfe3642902c64342ac8b3dc594d12cef29)
+++ uspace/drv/vhc/devices.h	(revision daec5e040866d98092cd5eb8a58caf8a53168566)
@@ -54,5 +54,5 @@
 virtdev_connection_t *virtdev_find(sysarg_t);
 void virtdev_destroy_device(virtdev_connection_t *);
-usb_transaction_outcome_t virtdev_send_to_all(transaction_t *);
+int virtdev_send_to_all(transaction_t *);
 
 #endif
Index: uspace/drv/vhc/hc.c
===================================================================
--- uspace/drv/vhc/hc.c	(revision 55f690cfe3642902c64342ac8b3dc594d12cef29)
+++ uspace/drv/vhc/hc.c	(revision daec5e040866d98092cd5eb8a58caf8a53168566)
@@ -89,9 +89,9 @@
  */
 static void process_transaction_with_outcome(transaction_t * transaction,
-    usb_transaction_outcome_t outcome)
+    int outcome)
 {
 	usb_log_debug2("Transaction " TRANSACTION_FORMAT " done: %s.\n",
 	    TRANSACTION_PRINTF(*transaction),
-	    usb_str_transaction_outcome(outcome));
+	    str_error(outcome));
 	
 	transaction->callback(transaction->buffer, transaction->actual_len,
@@ -127,5 +127,5 @@
 		    TRANSACTION_PRINTF(*transaction), ports);
 
-		usb_transaction_outcome_t outcome;
+		int outcome;
 		outcome = virtdev_send_to_all(transaction);
 		
Index: uspace/drv/vhc/hc.h
===================================================================
--- uspace/drv/vhc/hc.h	(revision 55f690cfe3642902c64342ac8b3dc594d12cef29)
+++ uspace/drv/vhc/hc.h	(revision daec5e040866d98092cd5eb8a58caf8a53168566)
@@ -47,5 +47,5 @@
  */
 typedef void (*hc_transaction_done_callback_t)(void *buffer, size_t size,
-    usb_transaction_outcome_t outcome, void *arg);
+    int outcome, void *arg);
 
 /** Pending transaction details. */
Index: uspace/lib/drv/generic/remote_usbhc.c
===================================================================
--- uspace/lib/drv/generic/remote_usbhc.c	(revision 55f690cfe3642902c64342ac8b3dc594d12cef29)
+++ uspace/lib/drv/generic/remote_usbhc.c	(revision daec5e040866d98092cd5eb8a58caf8a53168566)
@@ -240,5 +240,5 @@
 
 static void callback_out(device_t *device,
-    usb_transaction_outcome_t outcome, void *arg)
+    int outcome, void *arg)
 {
 	async_transaction_t *trans = (async_transaction_t *)arg;
@@ -250,9 +250,9 @@
 
 static void callback_in(device_t *device,
-    usb_transaction_outcome_t outcome, size_t actual_size, void *arg)
+    int outcome, size_t actual_size, void *arg)
 {
 	async_transaction_t *trans = (async_transaction_t *)arg;
 
-	if (outcome != USB_OUTCOME_OK) {
+	if (outcome != EOK) {
 		async_answer_0(trans->caller, outcome);
 		if (trans->data_caller) {
@@ -270,5 +270,5 @@
 	}
 
-	async_answer_0(trans->caller, USB_OUTCOME_OK);
+	async_answer_0(trans->caller, EOK);
 
 	async_transaction_destroy(trans);
Index: uspace/lib/drv/include/usbhc_iface.h
===================================================================
--- uspace/lib/drv/include/usbhc_iface.h	(revision 55f690cfe3642902c64342ac8b3dc594d12cef29)
+++ uspace/lib/drv/include/usbhc_iface.h	(revision daec5e040866d98092cd5eb8a58caf8a53168566)
@@ -207,9 +207,9 @@
 /** Callback for outgoing transfer. */
 typedef void (*usbhc_iface_transfer_out_callback_t)(device_t *,
-    usb_transaction_outcome_t, void *);
+    int, void *);
 
 /** Callback for incoming transfer. */
 typedef void (*usbhc_iface_transfer_in_callback_t)(device_t *,
-    usb_transaction_outcome_t, size_t, void *);
+    int, size_t, void *);
 
 
Index: uspace/lib/usb/include/usb/usb.h
===================================================================
--- uspace/lib/usb/include/usb/usb.h	(revision 55f690cfe3642902c64342ac8b3dc594d12cef29)
+++ uspace/lib/usb/include/usb/usb.h	(revision daec5e040866d98092cd5eb8a58caf8a53168566)
@@ -83,13 +83,4 @@
 } usb_request_recipient_t;
 
-/** USB transaction outcome. */
-typedef enum {
-	USB_OUTCOME_OK,
-	USB_OUTCOME_CRCERROR,
-	USB_OUTCOME_BABBLE
-} usb_transaction_outcome_t;
-
-const char * usb_str_transaction_outcome(usb_transaction_outcome_t o);
-
 /** USB address type.
  * Negative values could be used to indicate error.
Index: uspace/lib/usb/src/usb.c
===================================================================
--- uspace/lib/usb/src/usb.c	(revision 55f690cfe3642902c64342ac8b3dc594d12cef29)
+++ uspace/lib/usb/src/usb.c	(revision daec5e040866d98092cd5eb8a58caf8a53168566)
@@ -54,20 +54,4 @@
 }
 
-/** String representation of USB transaction outcome. */
-const char * usb_str_transaction_outcome(usb_transaction_outcome_t o)
-{
-	switch (o) {
-		case USB_OUTCOME_OK:
-			return "ok";
-		case USB_OUTCOME_CRCERROR:
-			return "CRC error";
-		case USB_OUTCOME_BABBLE:
-			return "babble";
-		default:
-			return "unknown";
-	}
-}
-
-
 /**
  * @}
