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

From: Greg KH
Date: Mon May 24 2004 - 15:12:56 EST


On Mon, May 24, 2004 at 01:20:45PM -0400, nardelli wrote:
> 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

Today, that call does fail:

if (!port->read_urb) {
/* this is needed for some brain dead Sony devices */
dev_err(&port->dev, "Device lied about number of ports, please use a lower one.\n");
return -ENODEV;
}

Let's not change that logic please.


> - 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).

But why? Do you know some kind of protocol that this endpoint can
accept that is valid for the device? If not, let's not mess with it.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/