Am 21.09.2009 03:59 schrieb Alan Stern: > Here's a patch which ought to fix the oops. I trust it won't cause > any existing devices to start misbehaving. Tilman and Matthias, please > verify that this works okay on your systems. It does fix the oops for me. The lines: ipaq 2-2:1.0: usb_probe_interface ipaq 2-2:1.0: usb_probe_interface - got id ipaq 2-2:1.0: PocketPC PDA converter detected are now followed by ipaq: probe of 2-2:1.0 failed with error -5 and I end up with only a single usb 2-2: PocketPC PDA converter now attached to ttyUSB0 instead of two (ttyUSB0 and ttyUSB1) previously. The device still doesn't work because now rndis_host (which without the patch didn't even get a chance to look at the interface) complains: rndis_host 2-2:1.0: usb_probe_interface rndis_host 2-2:1.0: usb_probe_interface - got id rndis_host: probe of 2-2:1.0 failed with error -16 But that's a different story which I'll investigate a bit further on my own before (if necessary) starting a discussion here. So from my point of view the patch is fine. Thanks, Tilman > A better approach might be to test the bInterfaceClass value, but I > don't know if that would work; there might be some devices using a > strange value. > > Alan Stern > > > > Index: usb-2.6/drivers/usb/serial/ipaq.c > =================================================================== > --- usb-2.6.orig/drivers/usb/serial/ipaq.c > +++ usb-2.6/drivers/usb/serial/ipaq.c > @@ -966,6 +966,15 @@ static int ipaq_calc_num_ports(struct us > static int ipaq_startup(struct usb_serial *serial) > { > dbg("%s", __func__); > + > + /* Some of the devices in ipaq_id_table[] are composite, and we > + * shouldn't bind to all the interfaces. This test will rule out > + * some obviously invalid possibilities. > + */ > + if (serial->num_bulk_in < serial->num_ports || > + serial->num_bulk_out < serial->num_ports) > + return -ENODEV; > + > if (serial->dev->actconfig->desc.bConfigurationValue != 1) { > /* > * FIXME: HP iPaq rx3715, possibly others, have 1 config that > -- Tilman Schmidt E-Mail: tilman@xxxxxxx Bonn, Germany Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Ungeöffnet mindestens haltbar bis: (siehe Rückseite)
Attachment:
signature.asc
Description: OpenPGP digital signature