summaryrefslogtreecommitdiffstats
path: root/drivers/firewire/fw-device-cdev.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/firewire/fw-device-cdev.c')
-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)
kfree(r);
}
- list_for_each_entry_safe(t, next_t, &client->transaction_list, link)
+ list_for_each_entry_safe(t, next_t, &client->transaction_list, link) {
fw_cancel_transaction(client->device->card, &t->transaction);
+ kfree(t);
+ }
/* FIXME: We should wait for the async tasklets to stop
* running before freeing the memory. */