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>
diff --git a/drivers/firewire/fw-device-cdev.c b/drivers/firewire/fw-device-cdev.c
index ebf0d10..b1b7edb 100644
--- a/drivers/firewire/fw-device-cdev.c
+++ b/drivers/firewire/fw-device-cdev.c
@@ -827,8 +827,10 @@
 		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. */