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-transaction.h | |
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-transaction.h')
-rw-r--r-- | drivers/firewire/fw-transaction.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/firewire/fw-transaction.h b/drivers/firewire/fw-transaction.h index 839466f0a795..0497a18dc59e 100644 --- a/drivers/firewire/fw-transaction.h +++ b/drivers/firewire/fw-transaction.h | |||
@@ -278,6 +278,8 @@ static inline void fw_card_put(struct fw_card *card) | |||
278 | kref_put(&card->kref, fw_card_release); | 278 | kref_put(&card->kref, fw_card_release); |
279 | } | 279 | } |
280 | 280 | ||
281 | extern void fw_schedule_bm_work(struct fw_card *card, unsigned long delay); | ||
282 | |||
281 | /* | 283 | /* |
282 | * The iso packet format allows for an immediate header/payload part | 284 | * The iso packet format allows for an immediate header/payload part |
283 | * stored in 'header' immediately after the packet info plus an | 285 | * stored in 'header' immediately after the packet info plus an |