aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/fw-transaction.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-02-06 14:49:30 -0500
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-03-09 16:02:50 -0500
commit32b46093a076986fa3c6e1dd484791624edf4585 (patch)
treef4d7a89c836549b4ce57f4b55720096f8840cd15 /drivers/firewire/fw-transaction.c
parent641f8791f031d6133e5c3e9ce036b3e942416e9d (diff)
firewire: Rework async receive DMA.
The old DMA program for receiving async packets stops DMA while processing received packets and only expects one packet per interrupt. Stopping DMA can silently drop packets and we need to handle multiple received packets per interrupt. This new version keeps DMA running at all times and just append new pages as buffers fill up, and supports multiple packets per interrupt. 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.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/firewire/fw-transaction.c b/drivers/firewire/fw-transaction.c
index 4a48e2d7694e..fb3b77e1bb2d 100644
--- a/drivers/firewire/fw-transaction.c
+++ b/drivers/firewire/fw-transaction.c
@@ -640,7 +640,8 @@ fw_core_handle_response(struct fw_card *card, struct fw_packet *p)
640 spin_unlock_irqrestore(&card->lock, flags); 640 spin_unlock_irqrestore(&card->lock, flags);
641 641
642 if (&t->link == &card->transaction_list) { 642 if (&t->link == &card->transaction_list) {
643 fw_notify("Unsolicited response\n"); 643 fw_notify("Unsolicited response (source %x, tlabel %x)\n",
644 source, tlabel);
644 return; 645 return;
645 } 646 }
646 647