Mark Ellis
2009-12-30 19:33:16 UTC
Hi, apologies for dropping a random question on you, but David Eriksson
thought you may be able to give us a pointer about this.
We'd observed a few devices giving -100 errors on connection with the
usb-rndis-lite module, and John Carr came up with the attached patch by
comparing -lite to -ng. This seems to be very effective, but none of us
are really device side developers, and John was never completely
convinced this was correct. Quoting him from a while back....
"The
reason I consider it dirty is that it needs the rndis_get_in_endpoint
function which is called every time something calls rndis_command.
Ideally that should run once when the driver loads for a given device,
but i felt like i was being too invasive when I started doing that and
whimped out.
The patch exists through careful comparison of the deprecated user
mode and the current kernel mode implementations of usb-rndis, the
poking of an INT IN endpoint being the only difference i found."
I'd love to get something based on this upstream, it's one of the few
remaining bugbears for which we haven't pushed a fix to the kernel. Does
this ring any bells with you ? Or does it even look sane ?
Many thanks
Mark
thought you may be able to give us a pointer about this.
We'd observed a few devices giving -100 errors on connection with the
usb-rndis-lite module, and John Carr came up with the attached patch by
comparing -lite to -ng. This seems to be very effective, but none of us
are really device side developers, and John was never completely
convinced this was correct. Quoting him from a while back....
"The
reason I consider it dirty is that it needs the rndis_get_in_endpoint
function which is called every time something calls rndis_command.
Ideally that should run once when the driver loads for a given device,
but i felt like i was being too invasive when I started doing that and
whimped out.
The patch exists through careful comparison of the deprecated user
mode and the current kernel mode implementations of usb-rndis, the
poking of an INT IN endpoint being the only difference i found."
I'd love to get something based on this upstream, it's one of the few
remaining bugbears for which we haven't pushed a fix to the kernel. Does
this ring any bells with you ? Or does it even look sane ?
Many thanks
Mark