提交 1e8afea1 编写于 作者: S Stefan Richter

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: NStefan Richter <stefanr@s5r6.in-berlin.de>
上级 b9549bc6
...@@ -539,7 +539,7 @@ fw_core_remove_card(struct fw_card *card) ...@@ -539,7 +539,7 @@ fw_core_remove_card(struct fw_card *card)
wait_for_completion(&card->done); wait_for_completion(&card->done);
cancel_delayed_work_sync(&card->work); cancel_delayed_work_sync(&card->work);
fw_flush_transactions(card); WARN_ON(!list_empty(&card->transaction_list));
del_timer_sync(&card->flush_timer); del_timer_sync(&card->flush_timer);
} }
EXPORT_SYMBOL(fw_core_remove_card); EXPORT_SYMBOL(fw_core_remove_card);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册