summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2008-07-12 14:51:18 +0200
committerStefan Richter <stefanr@s5r6.in-berlin.de>2008-07-14 13:06:04 +0200
commit1e8afea124added6409d5209f90d9949f5a13b32 (patch)
tree21acef703f0816768f15b9d31c122feb1561f3a0
parentfirewire: small fw_fill_request cleanup (diff)
downloadlinux-1e8afea124added6409d5209f90d9949f5a13b32.tar.xz
linux-1e8afea124added6409d5209f90d9949f5a13b32.zip
firewire: warn on unfinished transactions during card removal
After card->done and card->work are completed, any remaining pending request would be a bug. We cannot safely complete a transaction at that point anymore. IOW card users must not drop their last fw_card reference (usually indirect references through fw_device references) before their last outbound transaction through that card was finished. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r--drivers/firewire/fw-card.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/firewire/fw-card.c b/drivers/firewire/fw-card.c
index da873d795aad..bbd73a406e53 100644
--- a/drivers/firewire/fw-card.c
+++ b/drivers/firewire/fw-card.c
@@ -539,7 +539,7 @@ fw_core_remove_card(struct fw_card *card)
wait_for_completion(&card->done);
cancel_delayed_work_sync(&card->work);
- fw_flush_transactions(card);
+ WARN_ON(!list_empty(&card->transaction_list));
del_timer_sync(&card->flush_timer);
}
EXPORT_SYMBOL(fw_core_remove_card);