2009-09-20 13:50:48

by Tilman Schmidt

[permalink] [raw]
Subject: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

When I connect my "T-Mobile MDA compact III" to my PC, running
kernel 2.6.31 with openSUSE 10.3 userspace, I get exactly the
symptoms described in:

http://bugzilla.kernel.org/show_bug.cgi?id=8094

But that bug is marked as "CLOSED CODE_FIX", though reading through
the comments I found no clear indication what was actually fixed,
and from reading through the source files drivers/usb/serial/ipaq.c
and drivers/usb/serial/usb-serial.c I get the impression that the
problem of ipaq_open() oopsing because it gets called with
port->read_urb==NULL is still present.

So can someone tell me what is the status of this bug?

Thanks,
Tilman

--
Tilman Schmidt E-Mail: [email protected]
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Unge?ffnet mindestens haltbar bis: (siehe R?ckseite)


Attachments:
signature.asc (254.00 B)
OpenPGP digital signature

2009-09-20 15:10:01

by Greg KH

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

On Sun, Sep 20, 2009 at 03:39:57PM +0200, Tilman Schmidt wrote:
> When I connect my "T-Mobile MDA compact III" to my PC, running
> kernel 2.6.31 with openSUSE 10.3 userspace, I get exactly the
> symptoms described in:
>
> http://bugzilla.kernel.org/show_bug.cgi?id=8094
>
> But that bug is marked as "CLOSED CODE_FIX", though reading through
> the comments I found no clear indication what was actually fixed,
> and from reading through the source files drivers/usb/serial/ipaq.c
> and drivers/usb/serial/usb-serial.c I get the impression that the
> problem of ipaq_open() oopsing because it gets called with
> port->read_urb==NULL is still present.
>
> So can someone tell me what is the status of this bug?

"Closed" :)

Can you provide a log message that shows the problem you are having with
the 2.6.31 kernel?

thanks,

greg k-h

2009-09-20 16:28:29

by Tilman Schmidt

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

Sep 20 14:17:08 xenon kernel: [48089.284422] usb usb2: usb resume
Sep 20 14:17:08 xenon kernel: [48089.284431] ehci_hcd 0000:00:1a.7: resume root hub
Sep 20 14:17:08 xenon kernel: [48089.406220] ehci_hcd 0000:00:1a.7: port 4 full speed --> companion
Sep 20 14:17:08 xenon kernel: [48089.406231] ehci_hcd 0000:00:1a.7: GetStatus port 4 status 003801 POWER OWNER sig=j CONNECT
Sep 20 14:17:08 xenon kernel: [48089.418015] hub 2-0:1.0: hub_resume
Sep 20 14:17:08 xenon kernel: [48089.418068] ehci_hcd 0000:00:1a.7: GetStatus port 4 status 003002 POWER OWNER sig=se0 CSC
Sep 20 14:17:08 xenon kernel: [48089.518032] usb usb3: usb resume
Sep 20 14:17:08 xenon kernel: [48089.518038] usb usb3: wakeup_rh
Sep 20 14:17:08 xenon kernel: [48089.518050] hub 2-0:1.0: state 7 ports 4 chg 0000 evt 0000
Sep 20 14:17:08 xenon kernel: [48089.550035] hub 3-0:1.0: hub_resume
Sep 20 14:17:08 xenon kernel: [48089.550080] uhci_hcd 0000:00:1a.1: port 2 portsc 0093,00
Sep 20 14:17:08 xenon kernel: [48089.550086] hub 3-0:1.0: port 2: status 0101 change 0001
Sep 20 14:17:09 xenon kernel: [48089.651031] hub 3-0:1.0: state 7 ports 2 chg 0004 evt 0000
Sep 20 14:17:09 xenon kernel: [48089.651068] hub 3-0:1.0: port 2, status 0101, change 0000, 12 Mb/s
Sep 20 14:17:09 xenon kernel: [48089.753045] usb 3-2: new full speed USB device using uhci_hcd and address 3
Sep 20 14:17:09 xenon kernel: [48089.896066] usb 3-2: skipped 3 descriptors after interface
Sep 20 14:17:09 xenon kernel: [48089.901060] usb 3-2: default language 0x0409
Sep 20 14:17:09 xenon kernel: [48089.917067] usb 3-2: udev 3, busnum 3, minor = 258
Sep 20 14:17:09 xenon kernel: [48089.917072] usb 3-2: New USB device found, idVendor=0bb4, idProduct=0bce
Sep 20 14:17:09 xenon kernel: [48089.917076] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Sep 20 14:17:09 xenon kernel: [48089.917080] usb 3-2: Product: Generic RNDIS
Sep 20 14:17:09 xenon kernel: [48089.917083] usb 3-2: Manufacturer: HTC
Sep 20 14:17:09 xenon kernel: [48089.917086] usb 3-2: SerialNumber: 66460e0b-5ccf-7103-e800-0050bf3f5173
Sep 20 14:17:09 xenon kernel: [48089.917215] PM: Adding info for usb:3-2
Sep 20 14:17:09 xenon kernel: [48089.917245] usb 3-2: uevent
Sep 20 14:17:09 xenon kernel: [48089.917278] usb 3-2: usb_probe_device
Sep 20 14:17:09 xenon kernel: [48089.917283] usb 3-2: configuration #1 chosen from 1 choice
Sep 20 14:17:09 xenon kernel: [48089.920075] usb 3-2: adding 3-2:1.0 (config #1, interface 0)
Sep 20 14:17:09 xenon kernel: [48089.920124] PM: Adding info for usb:3-2:1.0
Sep 20 14:17:09 xenon kernel: [48089.920135] usb 3-2:1.0: uevent
Sep 20 14:17:09 xenon kernel: [48089.920181] usbserial_generic 3-2:1.0: usb_probe_interface
Sep 20 14:17:09 xenon kernel: [48089.920185] usbserial_generic 3-2:1.0: usb_probe_interface - got id
Sep 20 14:17:09 xenon kernel: [48089.920213] ipaq 3-2:1.0: usb_probe_interface
Sep 20 14:17:09 xenon kernel: [48089.920221] ipaq 3-2:1.0: usb_probe_interface - got id
Sep 20 14:17:09 xenon kernel: [48089.920233] ipaq 3-2:1.0: PocketPC PDA converter detected
Sep 20 14:17:09 xenon kernel: [48089.922096] PM: Adding info for No Bus:ep_81
Sep 20 14:17:09 xenon kernel: [48089.922126] PM: Adding info for usb-serial:ttyUSB0
Sep 20 14:17:09 xenon kernel: [48089.922237] PM: Adding info for No Bus:ttyUSB0
Sep 20 14:17:09 xenon kernel: [48089.922260] usb 3-2: PocketPC PDA converter now attached to ttyUSB0
Sep 20 14:17:09 xenon kernel: [48089.922272] usb 3-2: adding 3-2:1.1 (config #1, interface 1)
Sep 20 14:17:09 xenon kernel: [48089.922311] PM: Adding info for usb:3-2:1.1
Sep 20 14:17:09 xenon kernel: [48089.922320] usb 3-2:1.1: uevent
Sep 20 14:17:09 xenon kernel: [48089.922359] usbserial_generic 3-2:1.1: usb_probe_interface
Sep 20 14:17:09 xenon kernel: [48089.922364] usbserial_generic 3-2:1.1: usb_probe_interface - got id
Sep 20 14:17:09 xenon kernel: [48089.922388] ipaq 3-2:1.1: usb_probe_interface
Sep 20 14:17:09 xenon kernel: [48089.922397] ipaq 3-2:1.1: usb_probe_interface - got id
Sep 20 14:17:09 xenon kernel: [48089.922409] ipaq 3-2:1.1: PocketPC PDA converter detected
Sep 20 14:17:09 xenon kernel: [48089.923468] PM: Adding info for No Bus:ep_82
Sep 20 14:17:09 xenon kernel: [48089.923504] PM: Adding info for No Bus:ep_03
Sep 20 14:17:09 xenon kernel: [48089.923530] PM: Adding info for usb-serial:ttyUSB1
Sep 20 14:17:09 xenon kernel: [48089.924054] PM: Adding info for No Bus:ttyUSB1
Sep 20 14:17:09 xenon kernel: [48089.924108] usb 3-2: PocketPC PDA converter now attached to ttyUSB1
Sep 20 14:17:09 xenon kernel: [48089.924205] PM: Adding info for No Bus:ep_00
Sep 20 14:17:11 xenon kernel: [48092.000069] hub 2-0:1.0: hub_suspend
Sep 20 14:17:11 xenon kernel: [48092.000082] usb usb2: bus auto-suspend
Sep 20 14:17:11 xenon kernel: [48092.000086] ehci_hcd 0000:00:1a.7: suspend root hub
Sep 20 14:17:12 xenon kernel: [48093.107413] PPP generic driver version 2.4.2
Sep 20 14:17:12 xenon kernel: [48093.107559] PM: Adding info for No Bus:ppp
Sep 20 14:17:12 xenon pppd[30754]: pppd 2.4.4 started by root, uid 0
Sep 20 14:17:12 xenon pppd[30752]: pppd 2.4.4 started by root, uid 0
Sep 20 14:17:12 xenon kernel: [48093.158210] BUG: unable to handle kernel NULL pointer dereference at 0000003c
Sep 20 14:17:12 xenon hal-synce-serial[30748] ERROR : failed to initialize ppp connection, return code -9
Sep 20 14:17:12 xenon hal-synce-serial[30748] CRITICAL : failed to establish serial connection, aborting...
Sep 20 14:17:12 xenon kernel: [48093.158222] IP: [<f8fde968>] ipaq_open+0x1cf/0x34a [ipaq]
Sep 20 14:17:12 xenon kernel: [48093.158241] *pde = 00000000
Sep 20 14:17:12 xenon kernel: [48093.158248] Oops: 0002 [#1] PREEMPT SMP
Sep 20 14:17:12 xenon kernel: [48093.158257] last sysfs file: /sys/block/sda/sda1/stat
Sep 20 14:17:12 xenon kernel: [48093.158262] Modules linked in: ppp_generic slhc rndis_host cdc_ether usbnet mii ipaq usbserial vboxnetadp vboxnetflt vboxdrv tun snd_pcm_oss snd_mixer_oss snd_seq snd_seq_device iptable_filter ip_tables ip6table_filter ip6_tables x_tables af_packet ipv6 cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq microcode ohci_hcd ssb dm_crypt loop raid1 snd_hda_codec_idt snd_hda_intel nvidia(P) snd_hda_codec osst usb_storage snd_pcm snd_timer bas_gigaset snd gigaset rtc_cmos ohci1394 rtc_core soundcore sr_mod kernelcapi parport_pc ieee1394 parport intel_agp snd_page_alloc cdrom crc_ccitt i2c_i801 rtc_lib agpgart button iTCO_wdt i2c_core usb_libusual st iTCO_vendor_support usblp sg usbhid hid linear ehci_hcd uhci_hcd sd_mod crc_t10dif usbcore dm_snapshot edd dm_mod ext3 mbcache jbd fan thermal processor aic7xxx scsi_transport_spi pata_marvell ahci libata scsi_mod
Sep 20 14:17:12 xenon kernel: [48093.158443]
Sep 20 14:17:12 xenon kernel: [48093.158451] Pid: 30754, comm: pppd Tainted: P (2.6.31-vanilla #1)
Sep 20 14:17:12 xenon kernel: [48093.158457] EIP: 0060:[<f8fde968>] EFLAGS: 00210286 CPU: 1
Sep 20 14:17:12 xenon kernel: [48093.158470] EIP is at ipaq_open+0x1cf/0x34a [ipaq]
Sep 20 14:17:12 xenon kernel: [48093.158475] EAX: 00000000 EBX: ebc5d400 ECX: 00000000 EDX: cfd58000
Sep 20 14:17:12 xenon kernel: [48093.158480] ESI: cfe83800 EDI: c1155400 EBP: ebc5ce14 ESP: ebc5cdf0
Sep 20 14:17:12 xenon kernel: [48093.158486] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Sep 20 14:17:12 xenon kernel: [48093.158493] Process pppd (pid: 30754, ti=ebc5c000 task=f3c19b60 task.ti=ebc5c000)
Sep 20 14:17:12 xenon kernel: [48093.158498] Stack:
Sep 20 14:17:12 xenon kernel: [48093.158501] f5884000 f3d01900 00000100 00000001 00000064 c1155414 f8fe594c cfe83800
Sep 20 14:17:12 xenon kernel: [48093.158518] <0> f3d01900 ebc5ce3c f8f95c9e f5ac8c00 f5884000 f5884000 ebc5ce3c f3d01938
Sep 20 14:17:12 xenon kernel: [48093.158537] <0> f5884000 f5b11480 f5884000 ebc5ce6c c026a022 f5ac8c00 f3c558f0 00000000
Sep 20 14:17:12 xenon kernel: [48093.158557] Call Trace:
Sep 20 14:17:12 xenon kernel: [48093.158573] [<f8f95c9e>] ? serial_open+0x130/0x1f7 [usbserial]
Sep 20 14:17:12 xenon kernel: [48093.158587] [<c026a022>] ? tty_open+0x295/0x399
Sep 20 14:17:12 xenon kernel: [48093.158597] [<c0192ac5>] ? chrdev_open+0x10d/0x124
Sep 20 14:17:12 xenon kernel: [48093.158607] [<c018efa3>] ? __dentry_open+0x150/0x22c
Sep 20 14:17:12 xenon kernel: [48093.158615] [<c018fe69>] ? nameidata_to_filp+0x2c/0x43
Sep 20 14:17:12 xenon kernel: [48093.158622] [<c01929b8>] ? chrdev_open+0x0/0x124
Sep 20 14:17:12 xenon kernel: [48093.158631] [<c0199922>] ? do_filp_open+0x401/0x6f5
Sep 20 14:17:12 xenon kernel: [48093.158639] [<c018adee>] ? __slab_alloc+0x67/0x3e1
Sep 20 14:17:12 xenon kernel: [48093.158649] [<c01a0b79>] ? alloc_fd+0xcf/0xd9
Sep 20 14:17:12 xenon kernel: [48093.158657] [<c018ed47>] ? do_sys_open+0x4a/0xe2
Sep 20 14:17:12 xenon kernel: [48093.158665] [<c018ec46>] ? filp_close+0x51/0x5b
Sep 20 14:17:12 xenon kernel: [48093.158673] [<c018ee21>] ? sys_open+0x1e/0x26
Sep 20 14:17:12 xenon kernel: [48093.158682] [<c01032a4>] ? sysenter_do_call+0x12/0x38
Sep 20 14:17:12 xenon kernel: [48093.158688] Code: 86 58 01 00 00 85 c0 8b 96 48 01 00 00 75 16 89 d0 e8 e1 c0 1a c7 c7 86 48 01 00 00 00 00 00 00 e9 3c 01 00 00 8b 86 50 01 00 00 <89> 50 3c 8b 96 60 01 00 00 8b 86 58 01 00 00 89 42 3c 8b 86 50
Sep 20 14:17:12 xenon kernel: [48093.158796] EIP: [<f8fde968>] ipaq_open+0x1cf/0x34a [ipaq] SS:ESP 0068:ebc5cdf0
Sep 20 14:17:12 xenon kernel: [48093.158814] CR2: 000000000000003c
Sep 20 14:17:12 xenon kernel: [48093.158821] ---[ end trace 9562154883978f47 ]---


Attachments:
mdabug.txt (9.26 kB)
signature.asc (254.00 B)
OpenPGP digital signature
Download all attachments

2009-09-20 16:37:37

by Arjan van de Ven

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

On Sun, 20 Sep 2009 18:28:15 +0200
Tilman Schmidt <[email protected]> wrote:

> Greg KH schrieb:
> > Can you provide a log message that shows the problem you are having
> > with the 2.6.31 kernel?
>
> Attached. Currently only from an Nvidia-tainted kernel, though.
> If you need it reproduced on an untainted kernel it'll have to
> wait until I can reboot the machine.
>
> The Oops location according to gdb is:
>
> (gdb) info line *ipaq_open+0x1cf
> Line 656 of "drivers/usb/serial/ipaq.c" starts at address 0x986
> <ipaq_open+457> and ends at 0x98f <ipaq_open+466>.
>

btw this is what scripts/markup_oops.pl is for... it gives a very nice
diagnostic

2009-09-20 16:51:27

by Tilman Schmidt

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

Arjan van de Ven schrieb:
> On Sun, 20 Sep 2009 18:28:15 +0200
> Tilman Schmidt <[email protected]> wrote:
>
>> Greg KH schrieb:
>>> Can you provide a log message that shows the problem you are having
>>> with the 2.6.31 kernel?
>> Attached. Currently only from an Nvidia-tainted kernel, though.
>> If you need it reproduced on an untainted kernel it'll have to
>> wait until I can reboot the machine.
>>
>> The Oops location according to gdb is:
>>
>> (gdb) info line *ipaq_open+0x1cf
>> Line 656 of "drivers/usb/serial/ipaq.c" starts at address 0x986
>> <ipaq_open+457> and ends at 0x98f <ipaq_open+466>.
>>
>
> btw this is what scripts/markup_oops.pl is for... it gives a very nice
> diagnostic

Unfortunately that script doesn't work on my machine:

ts@xenon:~/kernel/linux-2.6.31-work> ./scripts/markup_oops.pl < /tmp/mdabug.txt
No vmlinux specified, assuming /lib/modules/2.6.31-vanilla/build/vmlinux
Can't locate object method "from_hex" via package "Math::BigInt" at ./scripts/markup_oops.pl line 176, <STDIN> line 98.

And as it's openSUSE based I can't simply update my Perl packages
from CPAN. But I can live with the gdb method.

Thanks,
Tilman

--
Tilman Schmidt E-Mail: [email protected]
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Unge?ffnet mindestens haltbar bis: (siehe R?ckseite)


Attachments:
signature.asc (254.00 B)
OpenPGP digital signature

2009-09-20 17:01:14

by Tilman Schmidt

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

Btw, I just found another bugzilla entry describing essentially
the same problem:

Bug 10868 - Oops on loading ipaq module since 2.6.26, prevents use of device
http://bugzilla.kernel.org/show_bug.cgi?id=10868

Its status is - you'll never guess - "CLOSED CODE_FIX"!

Quite a persistent little fella, it seems.

--
Tilman Schmidt E-Mail: [email protected]
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Unge?ffnet mindestens haltbar bis: (siehe R?ckseite)


Attachments:
signature.asc (254.00 B)
OpenPGP digital signature

2009-09-20 17:12:29

by Alan Stern

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

On Sun, 20 Sep 2009, Greg KH wrote:

> On Sun, Sep 20, 2009 at 03:39:57PM +0200, Tilman Schmidt wrote:
> > When I connect my "T-Mobile MDA compact III" to my PC, running
> > kernel 2.6.31 with openSUSE 10.3 userspace, I get exactly the
> > symptoms described in:
> >
> > http://bugzilla.kernel.org/show_bug.cgi?id=8094
> >
> > But that bug is marked as "CLOSED CODE_FIX", though reading through
> > the comments I found no clear indication what was actually fixed,
> > and from reading through the source files drivers/usb/serial/ipaq.c
> > and drivers/usb/serial/usb-serial.c I get the impression that the
> > problem of ipaq_open() oopsing because it gets called with
> > port->read_urb==NULL is still present.

Interestingly, the fix from that bug report _was_ merged as commit
063a2da8f01806906f7d7b1a1424b9afddebc443 (written by me). But then it
was removed later on(!) in commits
07c3b1a1001614442c665570942a3107a722c314 and
9aebfd6bda789891e6d296bb49b5fb32d1057f18 (written by Greg).

Apparently the check should have been moved from the core into the
lower-level driver (i.e., ipaq.c) but it wasn't. I don't know why;
maybe Greg does.

Alan Stern

2009-09-20 17:32:42

by Arjan van de Ven

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

On Sun, 20 Sep 2009 18:51:15 +0200
Tilman Schmidt <[email protected]> wrote:

> > btw this is what scripts/markup_oops.pl is for... it gives a very
> > nice diagnostic
>
> Unfortunately that script doesn't work on my machine:
>
> ts@xenon:~/kernel/linux-2.6.31-work> ./scripts/markup_oops.pl
> < /tmp/mdabug.txt No vmlinux specified,
> assuming /lib/modules/2.6.31-vanilla/build/vmlinux Can't locate
> object method "from_hex" via package "Math::BigInt"
> at ./scripts/markup_oops.pl line 176, <STDIN> line 98.
>
> And as it's openSUSE based I can't simply update my Perl packages
> from CPAN. But I can live with the gdb method.

hmm Matthew added that....
should we undo that change??


--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org

2009-09-20 18:15:19

by Greg KH

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

On Sun, Sep 20, 2009 at 01:12:29PM -0400, Alan Stern wrote:
> On Sun, 20 Sep 2009, Greg KH wrote:
>
> > On Sun, Sep 20, 2009 at 03:39:57PM +0200, Tilman Schmidt wrote:
> > > When I connect my "T-Mobile MDA compact III" to my PC, running
> > > kernel 2.6.31 with openSUSE 10.3 userspace, I get exactly the
> > > symptoms described in:
> > >
> > > http://bugzilla.kernel.org/show_bug.cgi?id=8094
> > >
> > > But that bug is marked as "CLOSED CODE_FIX", though reading through
> > > the comments I found no clear indication what was actually fixed,
> > > and from reading through the source files drivers/usb/serial/ipaq.c
> > > and drivers/usb/serial/usb-serial.c I get the impression that the
> > > problem of ipaq_open() oopsing because it gets called with
> > > port->read_urb==NULL is still present.
>
> Interestingly, the fix from that bug report _was_ merged as commit
> 063a2da8f01806906f7d7b1a1424b9afddebc443 (written by me). But then it
> was removed later on(!) in commits
> 07c3b1a1001614442c665570942a3107a722c314 and
> 9aebfd6bda789891e6d296bb49b5fb32d1057f18 (written by Greg).
>
> Apparently the check should have been moved from the core into the
> lower-level driver (i.e., ipaq.c) but it wasn't. I don't know why;
> maybe Greg does.

Yes, I missed the fact that the ipaq driver needed to pay attention to
this, my mistake :(

I'm pretty much not able to write any new patches until the end of next
week, due to conferences I'm currently attending, so if someone wants to
knock up a patch to fix this before then, it would be most appreciated.

thanks,

greg k-h

2009-09-20 21:13:43

by Marcin Slusarz

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

Tilman Schmidt wrote:
> Btw, I just found another bugzilla entry describing essentially
> the same problem:
>
> Bug 10868 - Oops on loading ipaq module since 2.6.26, prevents use of device
> http://bugzilla.kernel.org/show_bug.cgi?id=10868
>
> Its status is - you'll never guess - "CLOSED CODE_FIX"!
>
> Quite a persistent little fella, it seems.
>

FYI, there are hundreds of kerneloops reports for ipaq_open...
(from 2.6.25 to 2.6.31)
http://kerneloops.org/guilty.php?guilty=ipaq_open&version=2.6.31-release&start=2064384&end=2097151&class=oops

Marcin

2009-09-21 01:59:16

by Alan Stern

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

On Sun, 20 Sep 2009, Greg KH wrote:

> Yes, I missed the fact that the ipaq driver needed to pay attention to
> this, my mistake :(
>
> I'm pretty much not able to write any new patches until the end of next
> week, due to conferences I'm currently attending, so if someone wants to
> knock up a patch to fix this before then, it would be most appreciated.

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.

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

2009-09-21 23:03:47

by Tilman Schmidt

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II" ?

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: [email protected]
Bonn, Germany
Diese Nachricht besteht zu 100% aus wiederverwerteten Bits.
Unge?ffnet mindestens haltbar bis: (siehe R?ckseite)


Attachments:
signature.asc (254.00 B)
OpenPGP digital signature

2009-09-28 17:39:43

by Matthias Geissert

[permalink] [raw]
Subject: Re: Status of Bug 8094 - ipaq oops on connecting "Vodafone VPA-II"?

Am Montag 21 September 2009 03:59:17 schrieb Alan Stern:
> On Sun, 20 Sep 2009, Greg KH wrote:
> > Yes, I missed the fact that the ipaq driver needed to pay attention to
> > this, my mistake :(
> >
> > I'm pretty much not able to write any new patches until the end of next
> > week, due to conferences I'm currently attending, so if someone wants to
> > knock up a patch to fix this before then, it would be most appreciated.
>
> 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.
Sorry for the late answer but I was abroad last week.

I tested your patch and it works for me (it still gives me ttyUSB0 and
ttyUSB1).


Thanks,
matthias