firewire: improve refcounting of fw_card

Take a reference to the card whenever fw_card_bm_work() is scheduled on
that card and release it when the work is done.  This allows us to
remove the cancel_delayed_work_sync() in fw_core_remove_card().

Signed-off-by: Jay Fenlason <fenlason@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (patch update)
This commit is contained in:
Jay Fenlason
2008-11-29 17:44:57 +01:00
committed by Stefan Richter
parent 2cc489c213
commit 0fa1986f3a
4 changed files with 21 additions and 7 deletions
+1 -1
View File
@@ -530,7 +530,7 @@ fw_core_handle_bus_reset(struct fw_card *card,
smp_wmb();
card->generation = generation;
card->reset_jiffies = jiffies;
schedule_delayed_work(&card->work, 0);
fw_schedule_bm_work(card, 0);
local_node = build_tree(card, self_ids, self_id_count);