diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2008-07-12 14:51:18 +0200 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2008-07-14 13:06:04 +0200 |
commit | 1e8afea124added6409d5209f90d9949f5a13b32 (patch) | |
tree | 21acef703f0816768f15b9d31c122feb1561f3a0 | |
parent | firewire: small fw_fill_request cleanup (diff) | |
download | linux-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.c | 2 |
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); |