usb_serial: crash again at unplug

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

 



My cutting edge Linux kernel (git as of today), crashes when an ftdi_sio
handled usb-serial adapter is disconnected and enter is pressed on a
still open connectioni (cu, minicom, ...). See below.
(CONFIG_LOCKDEP_DEBUG enabled)

We had lots of similar problems in the past but at some point, they were
all fixed. This one is a new one, and 100% reproducible.

And idea what broke it again?

Daniel


[  439.020128] hub 1-3:1.0: state 7 ports 4 chg 0000 evt 0010
[  439.021600] hub 1-3:1.0: port 4, status 0101, change 0001, 12 Mb/s
[  439.149221] hub 1-3:1.0: debounce: port 4: total 100ms stable 100ms status 0x101
[  439.221221] usb 1-3.4: new full speed USB device using ehci_hcd and address 5
[  439.340030] usb 1-3.4: ep0 maxpacket = 8
[  439.341434] usb 1-3: clear tt buffer port 4, a5 ep0 t800a0d42
[  439.343057] usb 1-3: clear tt buffer port 4, a5 ep0 t800a0d42
[  439.344056] usb 1-3: clear tt buffer port 4, a5 ep0 t800a0d42
[  439.345821] usb 1-3.4: default language 0x0409
[  439.350196] usb 1-3.4: udev 5, busnum 1, minor = 4
[  439.350199] usb 1-3.4: New USB device found, idVendor=0403, idProduct=6001
[  439.364574] usb 1-3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  439.392964] usb 1-3.4: Product: FT232R USB UART
[  439.407259] usb 1-3.4: Manufacturer: FTDI
[  439.421506] usb 1-3.4: SerialNumber: A7007eQY
[  439.435472] usb 1-3.4: uevent
[  439.435506] usb 1-3.4: usb_probe_device
[  439.435509] usb 1-3.4: configuration #1 chosen from 1 choice
[  439.450097] usb 1-3.4: adding 1-3.4:1.0 (config #1, interface 0)
[  439.452320] usb 1-3.4:1.0: uevent
[  439.452574] hub 1-3:1.0: state 7 ports 4 chg 0000 evt 0010
[  439.465042] usb 1-3.4: uevent
[  439.502903] usbcore: registered new interface driver usbserial
[  439.517990] USB Serial support registered for generic
[  439.532204] usbserial_generic 1-3.4:1.0: usb_probe_interface
[  439.532208] usbserial_generic 1-3.4:1.0: usb_probe_interface - got id
[  439.534119] usbcore: registered new interface driver usbserial_generic
[  439.547885] usbserial: USB Serial Driver core
[  439.574162] USB Serial support registered for FTDI USB Serial Device
[  439.589306] ftdi_sio 1-3.4:1.0: usb_probe_interface
[  439.589312] ftdi_sio 1-3.4:1.0: usb_probe_interface - got id
[  439.589322] ftdi_sio 1-3.4:1.0: FTDI USB Serial Device converter detected
[  439.618657] usb 1-3.4: Detected FT232RL
[  439.633138] usb 1-3.4: Number of endpoints 2
[  439.647563] usb 1-3.4: Endpoint 1 MaxPacketSize 64
[  439.661865] usb 1-3.4: Endpoint 2 MaxPacketSize 64
[  439.675927] usb 1-3.4: Setting MaxPacketSize 64
[  439.691256] usb 1-3.4: FTDI USB Serial Device converter now attached to ttyUSB0
[  439.719888] usbcore: registered new interface driver ftdi_sio
[  439.734195] ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
[  439.778914] usb 1-3.4:1.0: uevent
[  439.779104] usb 1-3.4: uevent
[ 1880.373742] usb 1-3: clear tt buffer port 4, a5 ep1 t02008d42
[ 1880.454650] hub 1-3:1.0: state 7 ports 4 chg 0000 evt 0010
[ 1880.455988] hub 1-3:1.0: port 4, status 0100, change 0001, 12 Mb/s
[ 1880.456239] usb 1-3.4: USB disconnect, address 5
[ 1880.471292] usb 1-3.4: unregistering device
[ 1880.471295] usb 1-3.4: usb_disable_device nuking all URBs
[ 1880.471307] usb 1-3.4: unregistering interface 1-3.4:1.0
[ 1880.472365] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 1880.503602] ftdi_sio 1-3.4:1.0: device disconnected
[ 1880.518958] usb 1-3.4:1.0: uevent
[ 1880.520133] usb 1-3.4: uevent
[ 1880.645740] hub 1-3:1.0: debounce: port 4: total 100ms stable 100ms status 0x100
[ 1881.226058] BUG: unable to handle kernel paging request at 303a3134
[ 1881.230045] IP: [<c1050225>] __lock_acquire+0x3c2/0x12cf
[ 1881.230045] *pde = 00000000 
[ 1881.230045] Oops: 0002 [#1] PREEMPT SMP 
[ 1881.284021] last sysfs file: /sys/devices/pci0000:00/0000:00:02.1/usb1/1-3/1-3.4/idProduct
[ 1881.284021] Modules linked in: ftdi_sio usbserial ppdev lp nfsd exportfs nfs lockd nfs_acl auth_rpcgss sunrpc dm_crypt dm_mod aes_generic cryptoloop loop snd_usb_caiaq snd_rawmidi snd_pcm snd_timer snd snd_page_alloc parport_pc psmouse pcspkr i2c_nforce2 thermal processor via_rhine mii button forcedeth
[ 1881.284021] 
[ 1881.284021] Pid: 3121, comm: cu Not tainted (2.6.31-rc3 #11) MS-7260
[ 1881.284021] EIP: 0060:[<c1050225>] EFLAGS: 00010006 CPU: 1
[ 1881.284021] EIP is at __lock_acquire+0x3c2/0x12cf
[ 1881.284021] EAX: 303a3134 EBX: 303a3030 ECX: f6b1ac1c EDX: 00000002
[ 1881.284021] ESI: 00000000 EDI: 00000000 EBP: f5969e18 ESP: f5969dac
[ 1881.284021]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 1881.284021] Process cu (pid: 3121, ti=f5968000 task=f70f22b0 task.ti=f5968000)
[ 1881.284021] Stack:
[ 1881.284021]  00000001 01256000 00000000 c1002a3c 00000001 00000002 00000000 00000000
[ 1881.284021] <0> f6b1ac1c f70f22b0 f70f22b0 0000007b 0000007b 000000d8 00000000 ffffff10
[ 1881.284021] <0> c102f59b f5969e54 c102f5b7 00000034 f5969e25 00000001 00000004 00000213
[ 1881.284021] Call Trace:
[ 1881.284021]  [<c1002a3c>] ? restore_all_notrace+0x0/0x18
[ 1881.284021]  [<c102f59b>] ? vprintk+0x314/0x353
[ 1881.284021]  [<c102f5b7>] ? vprintk+0x330/0x353
[ 1881.284021]  [<c10511e1>] ? lock_acquire+0xaf/0xcc
[ 1881.284021]  [<c11fb0ac>] ? tty_port_close_start+0x3a/0x13a
[ 1881.284021]  [<c135d1df>] ? _spin_lock_irqsave+0x2e/0x3e
[ 1881.284021]  [<c11fb0ac>] ? tty_port_close_start+0x3a/0x13a
[ 1881.284021]  [<c11fb0ac>] ? tty_port_close_start+0x3a/0x13a
[ 1881.284021]  [<f9866b41>] ? serial_close+0x4f/0x7b [usbserial]
[ 1881.284021]  [<c11f5c48>] ? tty_release_dev+0x17c/0x400
[ 1881.284021]  [<c1051119>] ? __lock_acquire+0x12b6/0x12cf
[ 1881.284021]  [<c11f5ede>] ? tty_release+0x12/0x1c
[ 1881.284021]  [<c109cd82>] ? __fput+0xe9/0x194
[ 1881.284021]  [<c109ce46>] ? fput+0x19/0x1b
[ 1881.284021]  [<c109a41d>] ? filp_close+0x51/0x5b
[ 1881.284021]  [<c109a491>] ? sys_close+0x6a/0xa4
[ 1881.284021]  [<c1002988>] ? sysenter_do_call+0x12/0x36
[ 1881.284021] Code: 24 e8 58 69 15 00 85 c0 0f 84 af 0e 00 00 83 3d b0 35 ac c1 00 ba 4b 03 00 00 0f 85 9d 0e 00 00 e9 f6 02 00 00 8d 83 04 01 00 00 <f0> ff 83 04 01 00 00 8b 55 b8 83 3d d8 b7 5b c1 00 8b 92 b4 03 
[ 1881.284021] EIP: [<c1050225>] __lock_acquire+0x3c2/0x12cf SS:ESP 0068:f5969dac
[ 1881.284021] CR2: 00000000303a3134
[ 1881.284021] ---[ end trace 98aeb6b060165ec8 ]---
[ 1881.284021] note: cu[3121] exited with preempt_count 2
[ 1881.288111] BUG: scheduling while atomic: cu/3121/0x10000002
[ 1881.288113] INFO: lockdep is turned off.
[ 1881.288115] Modules linked in: ftdi_sio usbserial ppdev lp nfsd exportfs nfs lockd nfs_acl auth_rpcgss sunrpc dm_crypt dm_mod aes_generic cryptoloop loop snd_usb_caiaq snd_rawmidi snd_pcm snd_timer snd snd_page_alloc parport_pc psmouse pcspkr i2c_nforce2 thermal processor via_rhine mii button forcedeth
[ 1881.288136] Pid: 3121, comm: cu Tainted: G      D    2.6.31-rc3 #11
[ 1881.288138] Call Trace:
[ 1881.288143]  [<c102624e>] __schedule_bug+0x5e/0x65
[ 1881.288146]  [<c135a973>] schedule+0x8a/0x8a4
[ 1881.288150]  [<c104f415>] ? trace_hardirqs_on+0xb/0xd
[ 1881.288153]  [<c104f415>] ? trace_hardirqs_on+0xb/0xd
[ 1881.288158]  [<c1080ae4>] ? activate_page+0xe6/0xed
[ 1881.288161]  [<c1080d74>] ? lru_add_drain+0xa0/0xa6
[ 1881.288165]  [<c1026e79>] __cond_resched+0x21/0x3a
[ 1881.288168]  [<c135b217>] _cond_resched+0x1b/0x26
[ 1881.288172]  [<c108b688>] unmap_vmas+0x458/0x52a
[ 1881.288177]  [<c108eae3>] exit_mmap+0x9c/0x135
[ 1881.288180]  [<c102cb19>] mmput+0x34/0xaa
[ 1881.288184]  [<c10300d3>] exit_mm+0xde/0xe6
[ 1881.288187]  [<c103165a>] do_exit+0x15d/0x5af
[ 1881.288190]  [<c135a5ec>] ? printk+0xf/0x11
[ 1881.288193]  [<c102ea46>] ? oops_exit+0x23/0x28
[ 1881.288197]  [<c1005c90>] oops_end+0x92/0x9a
[ 1881.288201]  [<c101b575>] no_context+0x10c/0x116
[ 1881.288205]  [<c101b69b>] __bad_area_nosemaphore+0x11c/0x124
[ 1881.288209]  [<c135cfa3>] ? _spin_unlock_irq+0x22/0x42
[ 1881.288213]  [<c104f3c9>] ? trace_hardirqs_on_caller+0xee/0x12f
[ 1881.288216]  [<c104f415>] ? trace_hardirqs_on+0xb/0xd
[ 1881.288220]  [<c135cfc0>] ? _spin_unlock_irq+0x3f/0x42
[ 1881.288224]  [<c10637a1>] ? __rcu_process_callbacks+0x8c/0x1f2
[ 1881.288228]  [<c101b6b0>] bad_area_nosemaphore+0xd/0x10
[ 1881.288231]  [<c101b92f>] do_page_fault+0x131/0x29d
[ 1881.288235]  [<c101b7fe>] ? do_page_fault+0x0/0x29d
[ 1881.288238]  [<c135d623>] error_code+0x6b/0x70
[ 1881.288242]  [<c101b7fe>] ? do_page_fault+0x0/0x29d
[ 1881.288245]  [<c1050225>] ? __lock_acquire+0x3c2/0x12cf
[ 1881.288248]  [<c1002a3c>] ? restore_all_notrace+0x0/0x18
[ 1881.288252]  [<c102f59b>] ? vprintk+0x314/0x353
[ 1881.288255]  [<c102f5b7>] ? vprintk+0x330/0x353
[ 1881.288258]  [<c10511e1>] lock_acquire+0xaf/0xcc
[ 1881.288262]  [<c11fb0ac>] ? tty_port_close_start+0x3a/0x13a
[ 1881.288266]  [<c135d1df>] _spin_lock_irqsave+0x2e/0x3e
[ 1881.288270]  [<c11fb0ac>] ? tty_port_close_start+0x3a/0x13a
[ 1881.288274]  [<c11fb0ac>] tty_port_close_start+0x3a/0x13a
[ 1881.288283]  [<f9866b41>] serial_close+0x4f/0x7b [usbserial]
[ 1881.288286]  [<c11f5c48>] tty_release_dev+0x17c/0x400
[ 1881.288290]  [<c1051119>] ? __lock_acquire+0x12b6/0x12cf
[ 1881.288294]  [<c11f5ede>] tty_release+0x12/0x1c
[ 1881.288297]  [<c109cd82>] __fput+0xe9/0x194
[ 1881.288300]  [<c109ce46>] fput+0x19/0x1b
[ 1881.288304]  [<c109a41d>] filp_close+0x51/0x5b
[ 1881.288307]  [<c109a491>] sys_close+0x6a/0xa4
[ 1881.288310]  [<c1002988>] sysenter_do_call+0x12/0x36

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

  Powered by Linux