diff options
author | Kristian Høgsberg <krh@redhat.com> | 2007-01-26 08:38:34 +0300 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-10 00:02:47 +0300 |
commit | e5f49c3b837ff90c8aec2c6c66c4966080aced06 (patch) | |
tree | 16f6cb30602b9e63b9dc3a0a4ef8b56dcaf10346 /drivers/firewire/fw-transaction.c | |
parent | 93c4cceb963ebb133531e5e3f4f6e2da0d222656 (diff) | |
download | linux-e5f49c3b837ff90c8aec2c6c66c4966080aced06.tar.xz |
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>
Diffstat (limited to 'drivers/firewire/fw-transaction.c')
-rw-r--r-- | drivers/firewire/fw-transaction.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/firewire/fw-transaction.c b/drivers/firewire/fw-transaction.c index 780ed2b44983..8387c8ea6735 100644 --- a/drivers/firewire/fw-transaction.c +++ b/drivers/firewire/fw-transaction.c @@ -93,15 +93,15 @@ transmit_complete_callback(struct fw_packet *packet, close_transaction(t, card, RCODE_BUSY, NULL, 0); break; case ACK_DATA_ERROR: + close_transaction(t, card, RCODE_DATA_ERROR, NULL, 0); + break; case ACK_TYPE_ERROR: - close_transaction(t, card, RCODE_SEND_ERROR, NULL, 0); + close_transaction(t, card, RCODE_TYPE_ERROR, NULL, 0); break; default: - /* FIXME: In this case, status is a negative errno, - * corresponding to an OHCI specific transmit error - * code. We should map that to an RCODE instead of - * just the generic RCODE_SEND_ERROR. */ - close_transaction(t, card, RCODE_SEND_ERROR, NULL, 0); + /* In this case the ack is really a juju specific + * rcode, so just forward that to the callback. */ + close_transaction(t, card, status, NULL, 0); break; } } |