Bug 479 - visor module oops
Summary: visor module oops
Status: REJECTED UNREPRODUCIBLE
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Greg Kroah-Hartman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-20 23:01 UTC by Fabrice MARIE
Modified: 2003-06-27 16:16 UTC (History)
0 users

See Also:
Kernel Version: 2.5.69
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Fabrice MARIE 2003-03-20 23:01:38 UTC
Distribution: Mandrake Cooker 
Hardware Environment: Hitachi laptop, Intel USB controller/PIIX4 chipset 
Software Environment: pilot-link/kpilot,nodevfs, nohotplug running 
Problem Description: oops when unloading visor module 
 
Steps to reproduce: 
Plug in your palm (I use a clie T615C). Press the hotsync button. 
Then modprobe visor module. Press cancel on the palm. 
rmmod visor and it rmmod segfault. 
On the other hand, if I modprobe visor first, then press the button, 
then run kpilot, then it works perfectly. 
 
dmesg gives: 
Unable to handle kernel NULL pointer dereference at virtual address 00000004 
 printing eip: 
c01f577b 
*pde = 00000000 
Oops: 0002 
CPU:    0 
EIP:    0060:[<c01f577b>]    Not tainted 
EFLAGS: 00010246 
EIP is at devclass_remove_driver+0x4b/0x90 
eax: d0915c04   ebx: c03605c4   ecx: 00000000   edx: 00000000 
esi: c0360580   edi: d0915bbc   ebp: c42d7f14   esp: c42d7f00 
ds: 007b   es: 007b   ss: 0068 
Process rmmod (pid: 20800, threadinfo=c42d6000 task=c74bd2e0) 
Stack: c030c1ff 00000042 d090fa80 d090fa40 d0915bbc c42d7f30 c01f4fbf d0915bbc  
       00000042 d0915bc8 d0915bbc d0915d60 c42d7f48 c01f53fa d0915bbc 
c0358ab8  
       c0358ab8 00000880 c42d7f54 d09137ce d0915bbc c42d7fbc c012df1e 
c030c008  
Call Trace: 
 [<d090fa80>] usb_serial_bus_type+0x40/0xe0 [usbserial] 
 [<d090fa40>] usb_serial_bus_type+0x0/0xe0 [usbserial] 
 [<d0915bbc>] handspring_device+0x1c/0xe0 [visor] 
 [<c01f4fbf>] bus_remove_driver+0x5f/0xa0 
 [<d0915bbc>] handspring_device+0x1c/0xe0 [visor] 
 [<d0915bc8>] handspring_device+0x28/0xe0 [visor] 
 [<d0915bbc>] handspring_device+0x1c/0xe0 [visor] 
 [<d0915d60>] +0x0/0x100 [visor] 
 [<c01f53fa>] driver_unregister+0x1a/0x44 
 [<d0915bbc>] handspring_device+0x1c/0xe0 [visor] 
 [<d09137ce>] +0x1e/0x30 [visor] 
 [<d0915bbc>] handspring_device+0x1c/0xe0 [visor] 
 [<c012df1e>] sys_delete_module+0x1de/0x240 
 [<c0142317>] sys_munmap+0x57/0x80 
 [<c010948b>] syscall_call+0x7/0xb 
 
Code: 89 4a 04 89 11 89 40 04 89 47 48 89 3c 24 e8 42 fe ff ff 89 
 
I use a vanilla 2.5.65, modules-init-tools 0.9.9.
Comment 1 Greg Kroah-Hartman 2003-03-20 23:29:54 UTC
Why are you trying to unload the module?
What happens if you do not unload it, but just try to sync again?
Comment 2 Fabrice MARIE 2003-03-21 00:23:32 UTC
 
If I do the steps in the wrong order as explained above, 
then the hotsync fails, complaining "ERROR: No such device (19)" 
device. If I sync again it complains with the same error message. 
Then I tried to unload the module and reload it... :) 
 
Comment 3 Fabrice MARIE 2003-03-21 00:49:51 UTC
 
Actually, the problem is the same if I hotsync twice. The first time 
it works, the second it doesn't. So I unload (without oops) the module. 
Then I load it again. Try to hotsync, it still doesn't work. The I remove 
the module and kaboom. 
 
For the whole session, dmesg gives me: 
hub 1-0:0: debounce: port 2: delay 100ms stable 4 status 0x101 
hub 1-0:0: new USB device on port 2, assigned address 2 
usb 1-2: palm_os_4_probe - error -32 getting connection info 
usbserial 1-2:0: Handspring Visor / Treo / Palm 4.0 / Cli
Comment 4 Greg Kroah-Hartman 2003-03-23 00:48:39 UTC
Ok, so without unloading the driver, it works, right?

My suggestion would be to not unload the driver until way after the device has 
been removed from the system (there's still a module reference count missing
on the usb packets...)
Comment 5 Fabrice MARIE 2003-03-23 01:19:04 UTC
Sure it works, but only _once_. After this, it doesn't work
anymore (that's why I was trying to reload the module).
Which means I have to reboot everytime I do a hotsync with my palm :(

Will try tomorrow to unload the device after some long delay.
I don't seem to have this problem with 2.4 (I do manage
to make it oops as well, but removing the module in 2.4
is not necessary, so it's less disturbing).

Thanks.
Comment 6 Greg Kroah-Hartman 2003-05-12 15:33:43 UTC
Does this still happen on 2.5.69?
Comment 7 Fabrice MARIE 2003-05-28 08:15:41 UTC
Hi, 
 
Sorry for the delay, 
In kernel 2.5.69 it's better ... and worse :( 
Better because the module can be load and unloaded 
at will, without oopsing. Worse because the visor 
module doesn't work _at all_ not even once like it used 
to do with 2.5.65 when I submitted this bug. 
Comment 8 Greg Kroah-Hartman 2003-06-23 09:42:08 UTC
Does this still happen on 2.5.73?

Note You need to log in before you can comment on or make changes to this bug.