aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/firewire.h
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2010-04-27 03:07:00 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2010-05-18 18:26:30 -0400
commit5c40cbfefa828208c671e2f58789e4dd04f79563 (patch)
treeaa7c38eb0c9e19ee0153a1764b24c67abaf5746d /include/linux/firewire.h
parent753a8970f68594ea69c5fc13fbca18dbd9402996 (diff)
firewire: core: use separate timeout for each transaction
Using a single timeout for all transaction that need to be flushed does not work if the submission of new transactions can defer the timeout indefinitely into the future. We need to have timeouts that do not change due to other transactions; the simplest way to do this is with a separate timer for each transaction. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (+ one lockdep annotation)
Diffstat (limited to 'include/linux/firewire.h')
-rw-r--r--include/linux/firewire.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/firewire.h b/include/linux/firewire.h
index a527d73f9966..72e2b8ac2a5a 100644
--- a/include/linux/firewire.h
+++ b/include/linux/firewire.h
@@ -87,7 +87,6 @@ struct fw_card {
87 int current_tlabel; 87 int current_tlabel;
88 u64 tlabel_mask; 88 u64 tlabel_mask;
89 struct list_head transaction_list; 89 struct list_head transaction_list;
90 struct timer_list flush_timer;
91 unsigned long reset_jiffies; 90 unsigned long reset_jiffies;
92 91
93 unsigned long long guid; 92 unsigned long long guid;
@@ -288,6 +287,8 @@ struct fw_transaction {
288 int tlabel; 287 int tlabel;
289 int timestamp; 288 int timestamp;
290 struct list_head link; 289 struct list_head link;
290 struct fw_card *card;
291 struct timer_list split_timeout_timer;
291 292
292 struct fw_packet packet; 293 struct fw_packet packet;
293 294