diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-08-21 01:05:14 +0200 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-08-25 18:00:27 +0200 |
commit | 8a2d9ed3210464d22fccb9834970629c1c36fa36 (patch) | |
tree | 20c8f95275658d53a38b608412bbcdd485400c7a /drivers/firewire | |
parent | ieee1394: sbp2: fix sbp2_remove_device for error cases (diff) | |
download | linux-8a2d9ed3210464d22fccb9834970629c1c36fa36.tar.xz linux-8a2d9ed3210464d22fccb9834970629c1c36fa36.zip |
firewire: fix unloading of fw-ohci while devices are attached
Fix panic in run_timer_softirq right after "modprobe -r firewire-ohci"
if a FireWire disk was attached and firewire-sbp2 loaded.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire')
-rw-r--r-- | drivers/firewire/fw-card.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/firewire/fw-card.c b/drivers/firewire/fw-card.c index 0aeab3218bb6..3e9719948a8e 100644 --- a/drivers/firewire/fw-card.c +++ b/drivers/firewire/fw-card.c @@ -510,9 +510,11 @@ fw_core_remove_card(struct fw_card *card) /* Set up the dummy driver. */ card->driver = &dummy_driver; - fw_flush_transactions(card); - fw_destroy_nodes(card); + flush_scheduled_work(); + + fw_flush_transactions(card); + del_timer_sync(&card->flush_timer); fw_card_put(card); } |