From 1e1d196bf5d9258f9583a05c41c1c351ffcdeac2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= <krh@redhat.com>
Date: Fri, 16 Feb 2007 17:34:45 -0500
Subject: [PATCH] firewire: Set correct buffer lengths for dualbuffer DMA
 descriptor.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
---
 drivers/firewire/fw-ohci.c | 7 +++----
 1 file 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,
 					  descriptor_branch_always);
 		db->first_size = cpu_to_le16(ctx->base.header_size);
 		db->first_req_count = cpu_to_le16(p->header_length);
-		db->second_req_count = cpu_to_le16(p->payload_length);
-		db->first_res_count = cpu_to_le16(db->first_req_count);
-		db->second_res_count = cpu_to_le16(db->second_req_count);
-
+		db->first_res_count = db->first_req_count;
 		db->first_buffer = cpu_to_le32(d_bus + sizeof *db);
 		
 		if (offset + rest < PAGE_SIZE)
@@ -1594,6 +1591,8 @@ ohci_queue_iso_receive(struct fw_iso_context *base,
 		else
 			length = PAGE_SIZE - offset;
 
+		db->second_req_count = cpu_to_le16(length);
+		db->second_res_count = db->second_req_count;
 		page_bus = page_private(buffer->pages[page]);
 		db->second_buffer = cpu_to_le32(page_bus + offset);
 
-- 
GitLab