Re: [linux-usb-devel] [PATCH] visor: Fix Oops on disconnect

nardelli
2004-05-24T17:21:13Z

Greg KH wrote:
> On Fri, May 21, 2004 at 06:04:46PM -0400, nardelli wrote:
>
>>Maybe I spoke too soon here. We have 1 bulk in, 2 bulk out, and 1 interrupt
>>in endpoint, which by the logic in usb-serial, translates to 2 ports. Only
>>one of those ports can have a read_urb associated with it, unless we want to
>>do some really fancy juggling. This means that we're going to have a port
>>that does not have a valid read_urb associated with it, even after open().
>
>
> But the call to open() fails, which prevents any of the other tty calls
> from happening on that port. That's why we don't need to make that
> check anywhere else.
>
>

The call to open() does not fail - with only a write_urb associated with it,
it's not a very interesting port, but data can be written to it, at least in
small quantities (see below). The first patch that I submitted had a bug
(which I've fixed) in it
http://marc.theaimsgroup.com/?l=linux-usb-devel&m=108515267617337&w=2
that Pete Zaitcev pointed out in visor_open() that might be confusing the
issue.

The behavior that I intended was to allow devices that have more bulk out
endpoints than bulk in endpoints (namely treos) to still use the write only
port. Mainly though, it was to allow for swapping endpoints to allow for
the uneven number of in and out endpoints. This was not a problem prior to
now since the endpoints were being copied instead of swapped.

>>I'm at a loss why this device has an uneven number of bulk in and bulk out
>>endpoints.
>
>
> Stupid hardware engineers? Who really knows...
>

I bet someone really smart will figure it out - it probably just melts the ROM,
or something else useful :-)

One more question - my system does not really like it when I redirect /dev/urandom
to either the first or second port. I know that it obviosuly makes no sense to
do such a thing, but is it expected that there should be no problems associated
with this. I'm not finished testing, so I'm not sure how severe a problem develops.
I'll report in when I know more about this.