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>

+1 -1
+1 -1
drivers/firewire/fw-card.c
··· 539 wait_for_completion(&card->done); 540 541 cancel_delayed_work_sync(&card->work); 542 - fw_flush_transactions(card); 543 del_timer_sync(&card->flush_timer); 544 } 545 EXPORT_SYMBOL(fw_core_remove_card);
··· 539 wait_for_completion(&card->done); 540 541 cancel_delayed_work_sync(&card->work); 542 + WARN_ON(!list_empty(&card->transaction_list)); 543 del_timer_sync(&card->flush_timer); 544 } 545 EXPORT_SYMBOL(fw_core_remove_card);