diff options
author | Kristian Høgsberg <krh@redhat.com> | 2007-03-14 17:34:57 -0400 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-15 13:21:36 -0400 |
commit | 7e35f7f318168f1b735abc87754108c06955f50d (patch) | |
tree | 2c8cb6a1981f1dd814339892a3fedb61dcc547e4 /drivers | |
parent | 693b9021767750cbac2c92e918d25ddadbab7c61 (diff) |
firewire: Free pending transactions on cdev release.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/firewire/fw-device-cdev.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/firewire/fw-device-cdev.c b/drivers/firewire/fw-device-cdev.c index ebf0d100805e..b1b7edb0d2ad 100644 --- a/drivers/firewire/fw-device-cdev.c +++ b/drivers/firewire/fw-device-cdev.c | |||
@@ -827,8 +827,10 @@ static int fw_device_op_release(struct inode *inode, struct file *file) | |||
827 | kfree(r); | 827 | kfree(r); |
828 | } | 828 | } |
829 | 829 | ||
830 | list_for_each_entry_safe(t, next_t, &client->transaction_list, link) | 830 | list_for_each_entry_safe(t, next_t, &client->transaction_list, link) { |
831 | fw_cancel_transaction(client->device->card, &t->transaction); | 831 | fw_cancel_transaction(client->device->card, &t->transaction); |
832 | kfree(t); | ||
833 | } | ||
832 | 834 | ||
833 | /* FIXME: We should wait for the async tasklets to stop | 835 | /* FIXME: We should wait for the async tasklets to stop |
834 | * running before freeing the memory. */ | 836 | * running before freeing the memory. */ |