aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire/fw-ohci.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2007-02-16 17:34:45 -0500
committerStefan Richter <stefanr@s5r6.in-berlin.de>2007-03-09 16:03:01 -0500
commit1e1d196bf5d9258f9583a05c41c1c351ffcdeac2 (patch)
treef97452e8aa3bed9608ce3474a5cdec8e87d1698d /drivers/firewire/fw-ohci.c
parent9b32d5f3074e9b1afaa39a360a59fd77a2214783 (diff)
firewire: Set correct buffer lengths for dualbuffer DMA descriptor.
Signed-off-by: Kristian Høgsberg <krh@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/fw-ohci.c')
-rw-r--r--drivers/firewire/fw-ohci.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
index b5a154583e0..76ac70a3854 100644
--- a/drivers/firewire/fw-ohci.c
+++ b/drivers/firewire/fw-ohci.c
@@ -1583,10 +1583,7 @@ ohci_queue_iso_receive(struct fw_iso_context *base,
1583 descriptor_branch_always); 1583 descriptor_branch_always);
1584 db->first_size = cpu_to_le16(ctx->base.header_size); 1584 db->first_size = cpu_to_le16(ctx->base.header_size);
1585 db->first_req_count = cpu_to_le16(p->header_length); 1585 db->first_req_count = cpu_to_le16(p->header_length);
1586 db->second_req_count = cpu_to_le16(p->payload_length); 1586 db->first_res_count = db->first_req_count;
1587 db->first_res_count = cpu_to_le16(db->first_req_count);
1588 db->second_res_count = cpu_to_le16(db->second_req_count);
1589
1590 db->first_buffer = cpu_to_le32(d_bus + sizeof *db); 1587 db->first_buffer = cpu_to_le32(d_bus + sizeof *db);
1591 1588
1592 if (offset + rest < PAGE_SIZE) 1589 if (offset + rest < PAGE_SIZE)
@@ -1594,6 +1591,8 @@ ohci_queue_iso_receive(struct fw_iso_context *base,
1594 else 1591 else
1595 length = PAGE_SIZE - offset; 1592 length = PAGE_SIZE - offset;
1596 1593
1594 db->second_req_count = cpu_to_le16(length);
1595 db->second_res_count = db->second_req_count;
1597 page_bus = page_private(buffer->pages[page]); 1596 page_bus = page_private(buffer->pages[page]);
1598 db->second_buffer = cpu_to_le32(page_bus + offset); 1597 db->second_buffer = cpu_to_le32(page_bus + offset);
1599 1598