Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II"?

From: Tilman Schmidt
Date: Mon Sep 21 2009 - 19:03:59 EST


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