aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-03-14 17:34:57 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-03-15 13:21:36 -0400
commit7e35f7f318168f1b735abc87754108c06955f50d (patch)
tree2c8cb6a1981f1dd814339892a3fedb61dcc547e4
parent693b9021767750cbac2c92e918d25ddadbab7c61 (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>
-rw-r--r--drivers/firewire/fw-device-cdev.c4
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. */