diff options
author | Kristian Høgsberg <krh@redhat.com> | 2007-02-06 14:49:30 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-09 16:02:50 -0500 |
commit | 32b46093a076986fa3c6e1dd484791624edf4585 (patch) | |
tree | f4d7a89c836549b4ce57f4b55720096f8840cd15 /drivers/firewire/fw-transaction.c | |
parent | 641f8791f031d6133e5c3e9ce036b3e942416e9d (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.c | 3 |
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 | ||