code: plan9front

Download patch

ref: d7ade692c8c3c96bae6828f63afb1b19765b5589
parent: 8606fc8f29fe5b419b74e051c3c8b226ab29c399
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Wed Feb 10 14:52:00 EST 2021

nusb: don't create rw iso endpoints (by Michael Forney)

There may be two iso endpoints with the same ID if it is asynchronous
or adaptive (one for data, one for feedback), and rw iso endpoints are
unusable (error out with "iso i/o is half-duplex").

--- a/sys/src/cmd/nusb/lib/parse.c
+++ b/sys/src/cmd/nusb/lib/parse.c
@@ -127,7 +127,7 @@
 		ep = mkep(d, epid);
 		ep->dir = dir;
 	}else if((ep->addr & 0x80) != (addr & 0x80)){
-		if(ep->type == type)
+		if(ep->type == type && type != Eiso)
 			ep->dir = Eboth;
 		else {
 			/*