plan9fox/sys
cinap_lenrek 41908149de nusb: resolve endpoint id conflict with different input and output types
ftrvxmtrx repots devices that use the endpoint number for
input and output of different types like:

 nusb/ether:             parsedesc endpoint 5[7]  07 05 81 03 08 00 09	# ep1 in intr
 nusb/ether:             parsedesc endpoint 5[7]  07 05 82 02 00 02 00
 nusb/ether:             parsedesc endpoint 5[7]  07 05 01 02 00 02 00	# ep1 out bulk

the previous change tried to work arround this but had the
concequence that only the lastly defined endpoint was
usable.

this change addresses the issue by allowing up to 32 endpoints
per device (16 output + 16 input endpoints) in devusb. the
hci driver will ignore the 4th bit and will only use the
lower 4 bits as endpoint address when talking to the usb
device.

when we encounter a conflict, we map the input endpoint
to the upper id range 16..31 and the output endpoint
to id 0..15 so two distinct endpoints are created.
2014-04-23 20:03:01 +02:00
..
doc
games/lib fortunes: i was up at 9am, climbed a mountain, hiked 6 km through 4ft deep slush (the image you are supposed to get is of 12 million overturned slurpee cups, and of geting your groin wet in slurpee), nearly died eating beef vindaloo, wrote some code, talked on the phone, wrote mail, and now it's almost 4am and this is absolutely beyond ridiculous. 2014-04-22 11:49:32 -04:00
include factotum/authsrv: fix padding for mschap on amd64, use constants for structure sizes 2014-02-15 19:57:13 +01:00
lib acid: fix errstr syscall data offset for truss library 2014-02-25 09:31:58 -08:00
man nusb/ether: add RNDIS support (tested on Nexus 5) 2014-04-22 23:34:52 +02:00
src nusb: resolve endpoint id conflict with different input and output types 2014-04-23 20:03:01 +02:00