diff options
author | Jay Fenlason <fenlason@redhat.com> | 2008-11-29 11:44:57 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-01-04 17:50:37 -0500 |
commit | 0fa1986f3a6c385b3bca0b6a051c30e548bda30d (patch) | |
tree | 5b61ce9579a520f89bc4c000bfe3496e58d4f47a /drivers/firewire/fw-topology.c | |
parent | 2cc489c21338950c2b4097dec48864bdf7b30f1b (diff) |
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)
Diffstat (limited to 'drivers/firewire/fw-topology.c')
-rw-r--r-- | drivers/firewire/fw-topology.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/firewire/fw-topology.c b/drivers/firewire/fw-topology.c index 5e204713002d..7687dca1a690 100644 --- a/drivers/firewire/fw-topology.c +++ b/drivers/firewire/fw-topology.c | |||
@@ -530,7 +530,7 @@ fw_core_handle_bus_reset(struct fw_card *card, | |||
530 | smp_wmb(); | 530 | smp_wmb(); |
531 | card->generation = generation; | 531 | card->generation = generation; |
532 | card->reset_jiffies = jiffies; | 532 | card->reset_jiffies = jiffies; |
533 | schedule_delayed_work(&card->work, 0); | 533 | fw_schedule_bm_work(card, 0); |
534 | 534 | ||
535 | local_node = build_tree(card, self_ids, self_id_count); | 535 | local_node = build_tree(card, self_ids, self_id_count); |
536 | 536 | ||