firewire: Sanitize send error codes.

Drop the negative errnos and use RCODEs for all error codes
in the complete transaction callback.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
index ac6c018..58bc85d 100644
--- a/drivers/firewire/fw-ohci.c
+++ b/drivers/firewire/fw-ohci.c
@@ -376,7 +376,7 @@
 						     packet->payload_length,
 						     DMA_TO_DEVICE);
 		if (packet->payload_bus == 0) {
-			complete_transmission(packet, -ENOMEM, list);
+			complete_transmission(packet, RCODE_SEND_ERROR, list);
 			return;
 		}
 
@@ -438,7 +438,7 @@
 		/* We dont return error codes from this function; all
 		 * transmission errors are reported through the
 		 * callback. */
-		complete_transmission(packet, -ESTALE, list);
+		complete_transmission(packet, RCODE_GENERATION, list);
 	}
 }
 
@@ -484,26 +484,26 @@
 		switch (evt) {
 		case OHCI1394_evt_timeout:
 			/* Async response transmit timed out. */
-			complete_transmission(packet, -ETIMEDOUT, &list);
+			complete_transmission(packet, RCODE_CANCELLED, &list);
 			break;
 
 		case OHCI1394_evt_flushed:
 			/* The packet was flushed should give same
 			 * error as when we try to use a stale
 			 * generation count. */
-			complete_transmission(packet, -ESTALE, &list);
+			complete_transmission(packet,
+					      RCODE_GENERATION, &list);
 			break;
 
 		case OHCI1394_evt_missing_ack:
-			/* This would be a higher level software
-			 * error, it is using a valid (current)
-			 * generation count, but the node is not on
-			 * the bus. */
-			complete_transmission(packet, -ENODEV, &list);
+			/* Using a valid (current) generation count,
+			 * but the node is not on the bus or not
+			 * sending acks. */
+			complete_transmission(packet, RCODE_NO_ACK, &list);
 			break;
 
 		default:
-			complete_transmission(packet, -EIO, &list);
+			complete_transmission(packet, RCODE_SEND_ERROR, &list);
 			break;
 		}
 	} else