USB driver: fix a bug in isochronous transfers
authorGabor Juhos <juhosg@openwrt.org>
Thu, 17 Jan 2008 20:35:38 +0000 (20:35 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Thu, 17 Jan 2008 20:35:38 +0000 (20:35 +0000)
SVN-Revision: 10219

target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c
target/linux/adm5120/files/drivers/usb/host/adm5120-q.c

index c75b87af45404690ba17a5a4313b229d6e3285a6..725583cc832604d5a6ad2d04b0cb10421a4c0595 100644 (file)
@@ -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"
 
index 9d33bc31b84d03fcf8b1014822e3de28ebb8593b..52bd1e4e82c8f7f4411d4a59c46f573142f7b306 100644 (file)
@@ -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;