firewire: Move async transmit to use the general context code.

The old async transmit context handling was starting and stopping
DMA for every packet transmission.  This could cause silently failing
packet transmission, if the DMA was reprogrammed too close to being
stopped.

The general context code keeps DMA running at all times and fixes this
problem.  It's also a nice cleanup.

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-transaction.h b/drivers/firewire/fw-transaction.h
index b0d0575..e7301b8 100644
--- a/drivers/firewire/fw-transaction.h
+++ b/drivers/firewire/fw-transaction.h
@@ -203,8 +203,6 @@
 	size_t payload_length;
 	u32 timestamp;
 
-	dma_addr_t payload_bus;
-
 	/* This callback is called when the packet transmission has
 	 * completed; for successful transmission, the status code is
 	 * the ack received from the destination, otherwise it's a
@@ -215,6 +213,7 @@
 	fw_packet_callback_t callback;
 	int ack;
 	struct list_head link;
+	void *driver_data;
 };
 
 struct fw_transaction {