khubd deadlock

Bug #1612042 reported by john
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-lts-utopic (Ubuntu)
New
Undecided
Unassigned

Bug Description

reset on Bus 001 Device 003: ID 0557:2221 ATEN International Co., Ltd Winbond Hermon

create a deadlock, we have tested the 4.4 lts kernel backport and the issue doesn't happen

[ 539.927315] usb 1-1.3: reset full-speed USB device number 3 using ehci-pci
[ 544.999473] usb 1-1.3: device descriptor read/64, error -32
[ 545.175468] usb 1-1.3: device descriptor read/64, error -32
[ 545.351491] usb 1-1.3: reset full-speed USB device number 3 using ehci-pci
[ 545.423491] usb 1-1.3: device descriptor read/64, error -32
[ 545.599483] usb 1-1.3: device descriptor read/64, error -32
[ 545.775490] usb 1-1.3: reset full-speed USB device number 3 using ehci-pci
[ 546.183514] usb 1-1.3: device not accepting address 3, error -32
[ 546.255522] usb 1-1.3: reset full-speed USB device number 3 using ehci-pci
[ 546.663529] usb 1-1.3: device not accepting address 3, error -32
[ 546.664092] usb 1-1.3: USB disconnect, device number 3[ 740.878782] INFO: task khubd:34 blocked for more than 120 seconds.
[ 740.878858] Not tainted 3.16.0-77-generic #99~14.04.1-Ubuntu
[ 740.878918] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 740.878984] khubd D 0000000000000000 0 34 2 0x00000000
[ 740.878993] ffff880175f77c50 0000000000000246 ffff8801769ba8c0 00000000000130c0
[ 740.878998] ffff880175f77fd8 00000000000130c0 ffff8801768bc750 ffff8800032d48f0
[ 740.879002] ffff8800032d48f4 ffff8801769ba8c0 00000000ffffffff ffff8800032d48f8
[ 740.879006] Call Trace:
[ 740.879021] [<ffffffff81771e09>] schedule_preempt_disabled+0x29/0x70
[ 740.879027] [<ffffffff81773c15>] __mutex_lock_slowpath+0xd5/0x1d0
[ 740.879032] [<ffffffff81773d2f>] mutex_lock+0x1f/0x2f
[ 740.879039] [<ffffffff81567aa4>] usb_disconnect+0x54/0x2c0
[ 740.879044] [<ffffffff81571364>] ? usb_control_msg+0xd4/0x110
[ 740.879048] [<ffffffff81569762>] hub_port_connect+0x82/0x9e0
[ 740.879052] [<ffffffff8156a88b>] hub_events+0x7cb/0xcb0
[ 740.879059] [<ffffffff81775080>] ? _raw_spin_unlock_irqrestore+0x20/0x40
[ 740.879063] [<ffffffff8156ada5>] hub_thread+0x35/0x150
[ 740.879071] [<ffffffff810b6a40>] ? prepare_to_wait_event+0x100/0x100
[ 740.879075] [<ffffffff8156ad70>] ? hub_events+0xcb0/0xcb0
[ 740.879083] [<ffffffff81092a99>] kthread+0xc9/0xe0
[ 740.879089] [<ffffffff810929d0>] ? kthread_create_on_node+0x1c0/0x1c0
[ 740.879093] [<ffffffff81775858>] ret_from_fork+0x58/0x90
[ 740.879098] [<ffffffff810929d0>] ? kthread_create_on_node+0x1c0/0x1c0
[ 740.879102] INFO: task kworker/0:1:39 blocked for more than 120 seconds.
[ 740.879165] Not tainted 3.16.0-77-generic #99~14.04.1-Ubuntu
[ 740.879225] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 740.879289] kworker/0:1 D 0000000000000000 0 39 2 0x00000000
[ 740.879315] Workqueue: events hid_reset [usbhid]
[ 740.879317] ffff880175793850 0000000000000246 ffff8801769bc750 00000000000130c0
[ 740.879321] ffff880175793fd8 00000000000130c0 ffffffff81c1a480 ffff880175793998
[ 740.879325] ffff8801757939a0 7fffffffffffffff ffff8801769bc750 ffff8801769bc750
[ 740.879329] Call Trace:
[ 740.879334] [<ffffffff81771909>] schedule+0x29/0x70
[ 740.879339] [<ffffffff81770cd9>] schedule_timeout+0x269/0x2e0
[ 740.879345] [<ffffffff8109f657>] ? finish_task_switch+0x57/0x180
[ 740.879350] [<ffffffff81771472>] ? __schedule+0x362/0x7d0
[ 740.879355] [<ffffffff81772406>] wait_for_completion+0xa6/0x150
[ 740.879360] [<ffffffff810a2e80>] ? wake_up_state+0x20/0x20
[ 740.879365] [<ffffffff8108c2ed>] flush_work+0xed/0x1b0
[ 740.879369] [<ffffffff81088720>] ? destroy_worker+0x90/0x90
[ 740.879374] [<ffffffff8108c4b3>] __cancel_work_timer+0x93/0x1a0
[ 740.879382] [<ffffffff8107bb5b>] ? lock_timer_base.isra.34+0x2b/0x50
[ 740.879387] [<ffffffff81775080>] ? _raw_spin_unlock_irqrestore+0x20/0x40
[ 740.879392] [<ffffffff8108c5d0>] cancel_work_sync+0x10/0x20
[ 740.879400] [<ffffffffc03a04fa>] usbhid_close+0x6a/0x120 [usbhid]
[ 740.879410] [<ffffffffc0499f5a>] hidinput_close+0x1a/0x20 [hid]
[ 740.879417] [<ffffffff815b8e5a>] input_close_device+0x4a/0x70
[ 740.879423] [<ffffffff81482752>] kbd_disconnect+0x12/0x30
[ 740.879427] [<ffffffff815bb3f5>] __input_unregister_device+0xc5/0x1b0
[ 740.879431] [<ffffffff815bb58d>] input_unregister_device+0x4d/0x80
[ 740.879440] [<ffffffffc049a5d0>] hidinput_disconnect+0x90/0xc0 [hid]
[ 740.879447] [<ffffffffc0496ea0>] hid_disconnect+0x60/0x70 [hid]
[ 740.879455] [<ffffffffc0496f6d>] hid_device_remove+0xbd/0xd0 [hid]
[ 740.879463] [<ffffffff814bf6af>] __device_release_driver+0x7f/0xf0
[ 740.879466] [<ffffffff814bf743>] device_release_driver+0x23/0x30
[ 740.879470] [<ffffffff814bf048>] bus_remove_device+0x108/0x180

Revision history for this message
john (jcbsth) wrote :

This regression appears to have been introduced in 3.16.0-52.71~14.04.1

No problem with 3.16.0-51.69~14.04.1

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.