aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/firewire/net.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c
index 1a467a91fb0b..ea31e3084d67 100644
--- a/drivers/firewire/net.c
+++ b/drivers/firewire/net.c
@@ -996,15 +996,23 @@ static void fwnet_transmit_packet_failed(struct fwnet_packet_task *ptask)
996static void fwnet_write_complete(struct fw_card *card, int rcode, 996static void fwnet_write_complete(struct fw_card *card, int rcode,
997 void *payload, size_t length, void *data) 997 void *payload, size_t length, void *data)
998{ 998{
999 struct fwnet_packet_task *ptask; 999 struct fwnet_packet_task *ptask = data;
1000 1000 static unsigned long j;
1001 ptask = data; 1001 static int last_rcode, errors_skipped;
1002 1002
1003 if (rcode == RCODE_COMPLETE) { 1003 if (rcode == RCODE_COMPLETE) {
1004 fwnet_transmit_packet_done(ptask); 1004 fwnet_transmit_packet_done(ptask);
1005 } else { 1005 } else {
1006 fw_error("fwnet_write_complete: failed: %x\n", rcode);
1007 fwnet_transmit_packet_failed(ptask); 1006 fwnet_transmit_packet_failed(ptask);
1007
1008 if (printk_timed_ratelimit(&j, 1000) || rcode != last_rcode) {
1009 fw_error("fwnet_write_complete: "
1010 "failed: %x (skipped %d)\n", rcode, errors_skipped);
1011
1012 errors_skipped = 0;
1013 last_rcode = rcode;
1014 } else
1015 errors_skipped++;
1008 } 1016 }
1009} 1017}
1010 1018