diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2008-01-17 20:35:38 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2008-01-17 20:35:38 +0000 |
commit | 6700252dd1fc29d11dc2a8ed31562ffb7ad50a33 (patch) | |
tree | 79d48524d93291b14de3af8dd4491ec894071a93 /target/linux/adm5120/files | |
parent | 1ceb95ed59a9f409a02f88dd7ada339f1d4aa806 (diff) | |
download | mtk-20170518-6700252dd1fc29d11dc2a8ed31562ffb7ad50a33.zip mtk-20170518-6700252dd1fc29d11dc2a8ed31562ffb7ad50a33.tar.gz mtk-20170518-6700252dd1fc29d11dc2a8ed31562ffb7ad50a33.tar.bz2 |
USB driver: fix a bug in isochronous transfers
SVN-Revision: 10219
Diffstat (limited to 'target/linux/adm5120/files')
-rw-r--r-- | target/linux/adm5120/files/drivers/usb/host/adm5120-hcd.c | 2 | ||||
-rw-r--r-- | 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 c75b87a..725583cc 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 9d33bc3..52bd1e4 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; |