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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux