diff options
author | Kristian Høgsberg <krh@redhat.com> | 2007-03-07 12:12:48 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-09 22:03:11 +0100 |
commit | 2603bf219e9bef3396b96b65326de7db27958c95 (patch) | |
tree | 1e18057a1a7e4f22c0b7eaec1b3330ad426cdb72 /drivers/firewire/fw-device.c | |
parent | 2aaad97be6b58ae865f402fcd27d138e7346ff81 (diff) | |
download | op-kernel-dev-2603bf219e9bef3396b96b65326de7db27958c95.zip op-kernel-dev-2603bf219e9bef3396b96b65326de7db27958c95.tar.gz |
firewire: Use only a wait queue and terminate poll and read on device removal.
Drop the event list semaphore and only use the wait queue and the list
to synchronize queue access. Break out of a poll or read whenever
the device is disconnected.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/fw-device.c')
-rw-r--r-- | drivers/firewire/fw-device.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/firewire/fw-device.c b/drivers/firewire/fw-device.c index 4ade867..4877cdb 100644 --- a/drivers/firewire/fw-device.c +++ b/drivers/firewire/fw-device.c @@ -453,6 +453,7 @@ static void fw_device_shutdown(struct work_struct *work) idr_remove(&fw_device_idr, minor); up_write(&fw_bus_type.subsys.rwsem); + fw_device_cdev_remove(device); device_remove_file(&device->device, &config_rom_attribute); device_for_each_child(&device->device, NULL, shutdown_unit); device_unregister(&device->device); |