diff options
author | Kristian Høgsberg <krh@redhat.com> | 2007-02-16 17:34:45 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-09 16:03:01 -0500 |
commit | 1e1d196bf5d9258f9583a05c41c1c351ffcdeac2 (patch) | |
tree | f97452e8aa3bed9608ce3474a5cdec8e87d1698d /drivers/firewire | |
parent | 9b32d5f3074e9b1afaa39a360a59fd77a2214783 (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')
-rw-r--r-- | drivers/firewire/fw-ohci.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index b5a154583e0d..76ac70a38545 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 | ||