From 4ee0ee8dd9033d4772b07b4d9aee42ca0b82e863 Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Thu, 17 Jan 2008 20:35:38 +0000
Subject: [PATCH] [adm5120] USB driver: fix a bug in isochronous transfers

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10219 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c | 2 +-
 target/linux/adm5120/files/drivers/usb/host/adm5120-q.c   | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c b/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c
index c75b87af4..725583cc8 100644
--- a/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c
+++ b/target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c
@@ -45,7 +45,7 @@
 #include "../core/hcd.h"
 #include "../core/hub.h"
 
-#define DRIVER_VERSION	"0.16.0"
+#define DRIVER_VERSION	"0.16.1"
 #define DRIVER_AUTHOR	"Gabor Juhos <juhosg at openwrt.org>"
 #define DRIVER_DESC	"ADMtek USB 1.1 Host Controller Driver"
 
diff --git a/target/linux/adm5120/files/drivers/usb/host/adm5120-q.c b/target/linux/adm5120/files/drivers/usb/host/adm5120-q.c
index 9d33bc31b..52bd1e4e8 100644
--- a/target/linux/adm5120/files/drivers/usb/host/adm5120-q.c
+++ b/target/linux/adm5120/files/drivers/usb/host/adm5120-q.c
@@ -546,7 +546,10 @@ static void td_submit_urb(struct admhcd *ahcd, struct urb *urb)
 	 * we could often reduce the number of TDs here.
 	 */
 	case PIPE_ISOCHRONOUS:
-		info = TD_SCC_NOTACCESSED;
+		info = is_out
+			? TD_T_CARRY | TD_SCC_NOTACCESSED | TD_DP_OUT
+			: TD_T_CARRY | TD_SCC_NOTACCESSED | TD_DP_IN;
+
 		for (cnt = 0; cnt < urb->number_of_packets; cnt++) {
 			int frame = urb->start_frame;
 
-- 
2.20.1