USB driver: fix a bug in isochronous transfers

SVN-Revision: 10219
This commit is contained in:
Gabor Juhos 2008-01-17 20:35:38 +00:00
parent 1ceb95ed59
commit 6700252dd1
2 changed files with 5 additions and 2 deletions

View file

@ -45,7 +45,7 @@
#include "../core/hcd.h" #include "../core/hcd.h"
#include "../core/hub.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_AUTHOR "Gabor Juhos <juhosg at openwrt.org>"
#define DRIVER_DESC "ADMtek USB 1.1 Host Controller Driver" #define DRIVER_DESC "ADMtek USB 1.1 Host Controller Driver"

View 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. * we could often reduce the number of TDs here.
*/ */
case PIPE_ISOCHRONOUS: 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++) { for (cnt = 0; cnt < urb->number_of_packets; cnt++) {
int frame = urb->start_frame; int frame = urb->start_frame;