diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-06-16 19:15:25 +0200 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2009-06-16 22:48:09 +0200 |
commit | d645f4dad056a98089df904294f66b96d04e91b6 (patch) | |
tree | 993ec9d0c64dac6fb4e1214f213220fbc0e29f63 /drivers/mtd | |
parent | firewire: core: fix DMA unmapping in iso buffer removal (diff) | |
download | linux-d645f4dad056a98089df904294f66b96d04e91b6.tar.xz linux-d645f4dad056a98089df904294f66b96d04e91b6.zip |
firewire: core: fix iso context shutdown on card removal
If isochronous contexts existed when firewire-ohci was unloaded, the
core iso shutdown functions crashed with NULL dereferences, and buffers
etc. weren't released.
How the fix works: We first copy the card driver's iso shutdown hooks
into the dummy driver, then fw_destroy_nodes notifies upper layers of
devices going away, these should shut down (including their iso
contexts), wait_for_completion(&card->done) will be triggered after
upper layers gave up all fw_device references, after which the card
driver's shutdown proceeds.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/mtd')
0 files changed, 0 insertions, 0 deletions