[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-usb-users
Subject: [Linux-usb-users] oops when unplugging FTDI FT232AM
From: Arnim Laeuger <arnim.laeuger () gmx ! net>
Date: 2005-04-25 15:43:57
Message-ID: 426D103D.20409 () gmx ! net
[Download RAW message or body]
Hi all,
I have persistent problems with an USB->serial adaptor which contains an
FTDI FT232AM chip.
Two symptoms are observable, depending on whether ftdi_sio is loaded
before or after attaching the adaptor. The serial port has not been
opened in both cases.
1) when the driver is loaded before, my machine locks completely when
the adaptor is unplugged
2) when the driver is loaded after attaching the adaptor, the machine
sometimes locks and sometimes writes an oops to the kernel log
1) or 2) occur always when the adaptor is unplugged with loaded driver.
No problems at all when ftdi_sio module is never loaded during the
process.
The machine runs a stock 2.4.30 kernel with USB OHCI/EHCI. The USB
controller is
USB Controller: nVidia Corporation nForce2 USB Controller (rev a3)
devices.txt contains the output of /proc/bus/usb/devices (ftdi_sio not
loaded). The device in question is
T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
P: Vendor=0403 ProdID=fb5a Rev= 2.00
ksymoops_unplug.txt is the output of ksymoops on the oops message.
Symbols have been deleted.
ksymoops_modprobe-r.txt is the oops when ftdi_sio is removed with
'modprobe -r ftdi_sio' (device is not attached!).
It seems to me that something goes wrong inside ftdi_shutdown() when the
device is unplugged. I have no clue what the problem could be with
modprobe -r. Suggestions are welcome.
Best regards
Arnim
["devices.txt" (text/plain)]
T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 6
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 2.04
S: Manufacturer=Linux 2.4.30 ehci_hcd
S: Product=nVidia Corporation nForce2 USB Controller
S: SerialNumber=00:02.2
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=256ms
T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB OHCI Root Hub
S: SerialNumber=f8808000
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0403 ProdID=fb5a Rev= 2.00
S: Manufacturer=ELV AG
S: Product=ELV Univ. USB-Modul UM100
S: SerialNumber=ELKNE1Z6
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 3
B: Alloc= 56/900 us ( 6%), #Int= 4, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB OHCI Root Hub
S: SerialNumber=f8806000
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 4
D: Ver= 1.01 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=05e3 ProdID=0604 Rev= 0.12
S: Product=USB Hub
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms
T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 6 Spd=12 MxCh= 2
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=04cc ProdID=1122 Rev= 1.10
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=255ms
T: Bus=01 Lev=02 Prnt=06 Port=01 Cnt=01 Dev#= 7 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=06cd ProdID=c001 Rev= 1.55
S: Manufacturer=ACME usb Widgets
S: Product=Sun keyboard & mouse HID
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=200mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=hid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=hid
E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
["ksymoops_unplug.txt" (text/plain)]
ksymoops 2.4.8 on i686 2.4.30. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.30/ (default)
-M (specified)
[lots of symbols deleted]
Apr 25 16:33:30 lola kernel: hub.c: new USB device 00:02.1-3, assigned address 2
Apr 25 16:33:30 lola kernel: usb.c: USB device 2 (vend/prod 0x403/0xfb5a) is not \
claimed by any active driver.
Apr 25 16:33:37 lola kernel: usbserial.c: USB Serial support registered for FTDI SIO
Apr 25 16:33:37 lola kernel: usbserial.c: USB Serial support registered for FTDI \
8U232AM Compatible
Apr 25 16:33:37 lola kernel: usbserial.c: USB Serial support registered for FTDI \
FT232BM Compatible
Apr 25 16:33:37 lola kernel: usbserial.c: USB Serial support registered for USB-UIRT \
Infrared Tranceiver
Apr 25 16:33:37 lola kernel: usbserial.c: USB Serial support registered for \
Home-Electronics TIRA-1 IR Transceiver
Apr 25 16:33:37 lola kernel: usbserial.c: USB Serial support registered for FTDI SIO \
compatible
Apr 25 16:33:37 lola kernel: usbserial.c: FTDI SIO compatible converter detected
Apr 25 16:33:37 lola kernel: usbserial.c: FTDI SIO compatible converter now attached \
to ttyUSB0 (or usb/tts/0 for devfs)
Apr 25 16:33:37 lola kernel: ftdi_sio.c: v1.3.5:USB FTDI Serial Converters Driver
Apr 25 16:33:55 lola kernel: usb.c: USB disconnect on device 00:02.1-3 address 2
Apr 25 16:33:55 lola kernel: Unable to handle kernel NULL pointer dereference at \
virtual address 0000000c
Apr 25 16:33:55 lola kernel: c012dc6c
Apr 25 16:33:55 lola kernel: *pde = 00000000
Apr 25 16:33:55 lola kernel: Oops: 0000
Apr 25 16:33:55 lola kernel: CPU: 0
Apr 25 16:33:55 lola kernel: EIP: 0010:[kfree+44/192] Tainted: P
Apr 25 16:33:55 lola kernel: EIP: 0010:[<c012dc6c>] Tainted: P
Using defaults from ksymoops -t elf32-i386 -a i386
Apr 25 16:33:55 lola kernel: EFLAGS: 00210016
Apr 25 16:33:55 lola kernel: eax: 00c60c60 ebx: 080480f4 ecx: 00000000 edx: \
c100001c
Apr 25 16:33:55 lola kernel: esi: 00000000 edi: 00200002 ebp: f35d1380 esp: \
f7c2df08
Apr 25 16:33:55 lola kernel: ds: 0018 es: 0018 ss: 0018
Apr 25 16:33:55 lola kernel: Process khubd (pid: 8, stackpage=f7c2d000)
Apr 25 16:33:55 lola kernel: Stack: f35d13ac 00200246 00000000 f35d1380 c01cf7de \
080480f4 f9ba1cf3 080480f4
Apr 25 16:33:55 lola kernel: f692e000 00000001 f692e000 00000000 f88aa234 \
f692e000 f692e01c f88ab502
Apr 25 16:33:55 lola kernel: f692e000 f88ac940 f1b78f00 f88ac960 c01d067a \
f36a1c00 f692e000 00000100
Apr 25 16:33:55 lola kernel: Call Trace: [usb_free_urb+14/32] [<f9ba1cf3>] \
[<f88aa234>] [<f88ab502>] [<f88ac940>]
Apr 25 16:33:55 lola kernel: Call Trace: [<c01cf7de>] [<f9ba1cf3>] [<f88aa234>] \
[<f88ab502>] [<f88ac940>]
Apr 25 16:33:55 lola kernel: [<f88ac960>] [usb_disconnect+138/304] \
[usb_hub_port_connect_change+74/528] [usb_hub_events+221/624] [usb_hub_thread+53/176] \
[arch_kernel_thread+40/64]
Apr 25 16:33:55 lola kernel: [<f88ac960>] [<c01d067a>] [<c01d2a8a>] [<c01d2d2d>] \
[<c01d2ef5>] [<c01055a8>]
Apr 25 16:33:55 lola kernel: Code: 2b 59 0c 89 d8 31 d2 f7 76 18 89 c3 8b 41 14 89 44 \
99 18 89
> > EIP; c012dc6c <kfree+2c/c0> <=====
> > edx; c100001c <_end+d0b104/38515148>
> > ebp; f35d1380 <_end+332dc468/38515148>
> > esp; f7c2df08 <_end+37938ff0/38515148>
Trace; c01cf7de <usb_free_urb+e/20>
Trace; f9ba1cf3 <.data.end+1d7c/????>
Trace; f88aa234 <[usbserial]serial_shutdown+34/50>
Trace; f88ab502 <[usbserial]usb_serial_disconnect+92/200>
Trace; f88ac940 <[usbserial]usb_serial_driver+0/3c>
Trace; f88ac960 <[usbserial]usb_serial_driver+20/3c>
Trace; f88ac960 <[usbserial]usb_serial_driver+20/3c>
Trace; c01d067a <usb_disconnect+8a/130>
Trace; c01d2a8a <usb_new_device+16ca/1c50>
Trace; c01d2d2d <usb_new_device+196d/1c50>
Trace; c01d2ef5 <usb_new_device+1b35/1c50>
Trace; c01055a8 <machine_power_off+128/280>
Code; c012dc6c <kfree+2c/c0>
00000000 <_EIP>:
Code; c012dc6c <kfree+2c/c0> <=====
0: 2b 59 0c sub 0xc(%ecx),%ebx <=====
Code; c012dc6f <kfree+2f/c0>
3: 89 d8 mov %ebx,%eax
Code; c012dc71 <kfree+31/c0>
5: 31 d2 xor %edx,%edx
Code; c012dc73 <kfree+33/c0>
7: f7 76 18 divl 0x18(%esi)
Code; c012dc76 <kfree+36/c0>
a: 89 c3 mov %eax,%ebx
Code; c012dc78 <kfree+38/c0>
c: 8b 41 14 mov 0x14(%ecx),%eax
Code; c012dc7b <kfree+3b/c0>
f: 89 44 99 18 mov %eax,0x18(%ecx,%ebx,4)
Code; c012dc7f <kfree+3f/c0>
13: 89 00 mov %eax,(%eax)
["ksymoops_modprobe-r.txt" (text/plain)]
ksymoops 2.4.8 on i686 2.4.30. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.30/ (default)
-M (specified)
[lots of symbols deleted]
Apr 25 17:24:05 lola kernel: Unable to handle kernel paging request at virtual \
address f9bb0d50
Apr 25 17:24:05 lola kernel: f88ab82b
Apr 25 17:24:05 lola kernel: *pde = 364a5067
Apr 25 17:24:05 lola kernel: Oops: 0002
Apr 25 17:24:05 lola kernel: CPU: 0
Apr 25 17:24:05 lola kernel: EIP: 0010:[<f88ab82b>] Tainted: P
Using defaults from ksymoops -t elf32-i386 -a i386
Apr 25 17:24:05 lola kernel: EFLAGS: 00210202
Apr 25 17:24:05 lola kernel: eax: f88ac97c ebx: 00000000 ecx: f88ac8f0 edx: \
f9bb0d50
Apr 25 17:24:05 lola kernel: esi: 000000ff edi: f88ac8e0 ebp: f88ad6c0 esp: \
e4ffff7c
Apr 25 17:24:05 lola kernel: ds: 0018 es: 0018 ss: 0018
Apr 25 17:24:05 lola kernel: Process modprobe.old (pid: 2501, stackpage=e4fff000)
Apr 25 17:24:05 lola kernel: Stack: f88a9000 fffffff0 f88a9000 bfffe228 f88ab76a \
f88ac8e0 c0119dd7 f88a9000
Apr 25 17:24:05 lola kernel: fffffff0 e4fd8000 bfffe228 c0119167 f88a9000 \
00000000 e4ffe000 40014020
Apr 25 17:24:05 lola kernel: bffff464 c0106c77 0806da78 0806da78 bfffe228 \
40014020 bffff464 bfffe228
Apr 25 17:24:05 lola kernel: Call Trace: [<f88ab76a>] [<f88ac8e0>] \
[free_module+23/160] [sys_delete_module+247/448] [system_call+51/56]
Apr 25 17:24:05 lola kernel: Call Trace: [<f88ab76a>] [<f88ac8e0>] [<c0119dd7>] \
[<c0119167>] [<c0106c77>]
Apr 25 17:24:05 lola kernel: Code: 89 02 c7 47 10 00 00 00 00 c7 41 04 00 00 00 00 5b \
5e 5f 5d
> > EIP; f88ab82b <[usbserial]usb_serial_deregister+5b/70> <=====
> > eax; f88ac97c <[usbserial]usb_serial_driver_list+0/8>
> > ecx; f88ac8f0 <[usbserial]generic_device+10/54>
> > edi; f88ac8e0 <[usbserial]generic_device+0/54>
> > ebp; f88ad6c0 <[usbserial].data.end+c65/2605>
> > esp; e4ffff7c <_end+24d0b064/38515148>
Trace; f88ab76a <[usbserial]usb_serial_exit+a/30>
Trace; f88ac8e0 <[usbserial]generic_device+0/54>
Trace; f88ab76a <[usbserial]usb_serial_exit+a/30>
Trace; f88ac8e0 <[usbserial]generic_device+0/54>
Trace; c0119dd7 <try_inc_mod_count+d97/1600>
Trace; c0119167 <try_inc_mod_count+127/1600>
Trace; c0106c77 <__up_wakeup+1067/1430>
Code; f88ab82b <[usbserial]usb_serial_deregister+5b/70>
00000000 <_EIP>:
Code; f88ab82b <[usbserial]usb_serial_deregister+5b/70> <=====
0: 89 02 mov %eax,(%edx) <=====
Code; f88ab82d <[usbserial]usb_serial_deregister+5d/70>
2: c7 47 10 00 00 00 00 movl $0x0,0x10(%edi)
Code; f88ab834 <[usbserial]usb_serial_deregister+64/70>
9: c7 41 04 00 00 00 00 movl $0x0,0x4(%ecx)
Code; f88ab83b <[usbserial]usb_serial_deregister+6b/70>
10: 5b pop %ebx
Code; f88ab83c <[usbserial]usb_serial_deregister+6c/70>
11: 5e pop %esi
Code; f88ab83d <[usbserial]usb_serial_deregister+6d/70>
12: 5f pop %edi
Code; f88ab83e <[usbserial]usb_serial_deregister+6e/70>
13: 5d pop %ebp
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Linux-usb-users@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic