summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-06-15 00:38:50 +0200
committerStefan Richter <stefanr@s5r6.in-berlin.de>2009-06-16 22:48:09 +0200
commit29ad14cddd6246d17ff22f496363dfd6b3de8964 (patch)
treea7477110ea9c76e553e244af42a2e54ad3e5addb
parent1337f8535ac1f41915d9e8aa03d5a3edf2f7c0a5 (diff)
downloadlinux-29ad14cddd6246d17ff22f496363dfd6b3de8964.tar.gz
linux-29ad14cddd6246d17ff22f496363dfd6b3de8964.tar.bz2
linux-29ad14cddd6246d17ff22f496363dfd6b3de8964.zip
firewire: core: fix DMA unmapping in iso buffer removal
dmap_unmap_page() shall use the same direction as dma_map_page(). Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r--drivers/firewire/core-iso.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/firewire/core-iso.c b/drivers/firewire/core-iso.c
index 448ddd7d887b..166f19c6d38d 100644
--- a/drivers/firewire/core-iso.c
+++ b/drivers/firewire/core-iso.c
@@ -71,7 +71,7 @@ int fw_iso_buffer_init(struct fw_iso_buffer *buffer, struct fw_card *card,
for (j = 0; j < i; j++) {
address = page_private(buffer->pages[j]);
dma_unmap_page(card->device, address,
- PAGE_SIZE, DMA_TO_DEVICE);
+ PAGE_SIZE, direction);
__free_page(buffer->pages[j]);
}
kfree(buffer->pages);
@@ -108,7 +108,7 @@ void fw_iso_buffer_destroy(struct fw_iso_buffer *buffer,
for (i = 0; i < buffer->page_count; i++) {
address = page_private(buffer->pages[i]);
dma_unmap_page(card->device, address,
- PAGE_SIZE, DMA_TO_DEVICE);
+ PAGE_SIZE, buffer->direction);
__free_page(buffer->pages[i]);
}