From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756630Ab1GGNi6 (ORCPT ); Thu, 7 Jul 2011 09:38:58 -0400 Received: from einhorn.in-berlin.de ([192.109.42.8]:53484 "EHLO einhorn.in-berlin.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755971Ab1GGNi5 (ORCPT ); Thu, 7 Jul 2011 09:38:57 -0400 X-Envelope-From: stefanr@s5r6.in-berlin.de Date: Thu, 7 Jul 2011 15:38:49 +0200 From: Stefan Richter To: Sarah Sharp Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: 3.0-rc6: USB khubd deadlock when hub is powered down Message-ID: <20110707153849.51691bc4@stein> In-Reply-To: <20110707152958.42c88aec@stein> References: <20110707100501.68a21fb8@stein> <20110707152958.42c88aec@stein> X-Mailer: Claws Mail 3.7.8 (GTK+ 2.24.4; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Jul 07 Stefan Richter wrote: > It appears to be a regression from -rc4 to -rc6. At the second occasion > that I switched the monitor off while running 3.0-rc6, the same happened > again. (IOW judging from the mere two tries I did so far, this issue is > 100% reproducible.) > > khubd locked up; no subsequent device re-attachments were recognized; > only an USB mouse that was attached to a motherboard USB port already > before the deadlock continued to let me move the pointer. Sarah, "gitk v3.0-rc4.. drivers/usb/core/" makes it look like this is from commit fccf4e86200b8f5edd9a65da26f150e32ba79808. When I find spare time I will test 3.0-rc6 with that one reverted. > Jul 7 15:08:41 stein kernel: usb 1-3.2: USB disconnect, device number 4 > Jul 7 15:08:41 stein kernel: generic-usb 0003:1267:0103.0006: can't reset device, 0000:00:12.2-3.3/input1, status -71 > Jul 7 15:08:41 stein kernel: usb 1-3: clear tt 3 (0050) error -71 > Jul 7 15:08:41 stein kernel: generic-usb 0003:1267:0103.0005: can't reset device, 0000:00:12.2-3.3/input0, status -71 > Jul 7 15:08:41 stein kernel: usb 1-3: clear tt 3 (0050) error -71 > Jul 7 15:08:41 stein kernel: generic-usb 0003:1267:0103.0006: can't reset device, 0000:00:12.2-3.3/input1, status -71 > Jul 7 15:08:41 stein kernel: hub 1-3:1.0: hub_port_status failed (err = -71) > Jul 7 15:08:41 stein kernel: hub 1-3:1.0: connect-debounce failed, port 2 disabled > Jul 7 15:08:41 stein kernel: usb 1-3: USB disconnect, device number 2 > Jul 7 15:08:41 stein kernel: usb 1-3.1: USB disconnect, device number 3 > Jul 7 15:08:41 stein kernel: usb 1-3.1.1: USB disconnect, device number 6 > Jul 7 15:08:41 stein kernel: usb 1-3: clear tt 3 (0050) error -71 > Jul 7 15:08:41 stein kernel: generic-usb 0003:1267:0103.0005: can't reset device, 0000:00:12.2-3.3/input0, status -71 > Jul 7 15:08:41 stein kernel: usb 1-3: clear tt 3 (0050) error -19 > Jul 7 15:08:41 stein kernel: generic-usb 0003:1267:0103.0006: can't reset device, 0000:00:12.2-3.3/input1, status -71 > Jul 7 15:08:41 stein kernel: usb 1-3: clear tt 3 (0050) error -19 > Jul 7 15:08:41 stein kernel: usb 1-3.3: USB disconnect, device number 5 > Jul 7 15:08:42 stein kernel: > Jul 7 15:08:42 stein kernel: ============================================= > Jul 7 15:08:42 stein kernel: [ INFO: possible recursive locking detected ] > Jul 7 15:08:42 stein kernel: 3.0.0-rc6 #9 > Jul 7 15:08:42 stein kernel: --------------------------------------------- > Jul 7 15:08:42 stein kernel: khubd/303 is trying to acquire lock: > Jul 7 15:08:42 stein kernel: (hcd->bandwidth_mutex){+.+.+.}, at: [] usb_set_interface+0x84/0x210 > Jul 7 15:08:42 stein kernel: > Jul 7 15:08:42 stein kernel: but task is already holding lock: > Jul 7 15:08:42 stein kernel: (hcd->bandwidth_mutex){+.+.+.}, at: [] usb_disconnect+0x9a/0x140 > Jul 7 15:08:42 stein kernel: > Jul 7 15:08:42 stein kernel: other info that might help us debug this: > Jul 7 15:08:42 stein kernel: Possible unsafe locking scenario: > Jul 7 15:08:42 stein kernel: > Jul 7 15:08:42 stein kernel: CPU0 > Jul 7 15:08:42 stein kernel: ---- > Jul 7 15:08:42 stein kernel: lock(hcd->bandwidth_mutex); > Jul 7 15:08:42 stein kernel: lock(hcd->bandwidth_mutex); > Jul 7 15:08:42 stein kernel: > Jul 7 15:08:42 stein kernel: *** DEADLOCK *** > Jul 7 15:08:42 stein kernel: > Jul 7 15:08:42 stein kernel: May be due to missing lock nesting notation > Jul 7 15:08:42 stein kernel: > Jul 7 15:08:42 stein kernel: 4 locks held by khubd/303: > Jul 7 15:08:42 stein kernel: #0: (&__lockdep_no_validate__){+.+.+.}, at: [] hub_thread+0xdf/0xe5a > Jul 7 15:08:42 stein kernel: #1: (&__lockdep_no_validate__){+.+.+.}, at: [] usb_disconnect+0x59/0x140 > Jul 7 15:08:42 stein kernel: #2: (hcd->bandwidth_mutex){+.+.+.}, at: [] usb_disconnect+0x9a/0x140 > Jul 7 15:08:42 stein kernel: #3: (&__lockdep_no_validate__){+.+.+.}, at: [] device_release_driver+0x18/0x2d > Jul 7 15:08:42 stein kernel: > Jul 7 15:08:42 stein kernel: stack backtrace: > Jul 7 15:08:42 stein kernel: Pid: 303, comm: khubd Not tainted 3.0.0-rc6 #9 > Jul 7 15:08:42 stein kernel: Call Trace: > Jul 7 15:08:42 stein kernel: [] __lock_acquire+0x169b/0x1734 > Jul 7 15:08:42 stein kernel: [] ? mark_held_locks+0x52/0x70 > Jul 7 15:08:42 stein kernel: [] ? sub_preempt_count+0x92/0xa6 > Jul 7 15:08:42 stein kernel: [] ? _raw_spin_unlock_irq+0x36/0x53 > Jul 7 15:08:42 stein kernel: [] ? wait_on_cpu_work+0x6a/0x99 > Jul 7 15:08:42 stein kernel: [] ? usb_set_interface+0x84/0x210 > Jul 7 15:08:42 stein kernel: [] lock_acquire+0x57/0x6d > Jul 7 15:08:42 stein kernel: [] ? usb_set_interface+0x84/0x210 > Jul 7 15:08:42 stein kernel: [] ? add_preempt_count+0xad/0xb2 > Jul 7 15:08:42 stein kernel: [] mutex_lock_nested+0x5e/0x2f9 > Jul 7 15:08:42 stein kernel: [] ? usb_set_interface+0x84/0x210 > Jul 7 15:08:42 stein kernel: [] ? wait_on_work+0xc7/0x115 > Jul 7 15:08:42 stein kernel: [] ? wait_on_cpu_work+0x99/0x99 > Jul 7 15:08:42 stein kernel: [] usb_set_interface+0x84/0x210 > Jul 7 15:08:42 stein kernel: [] ? __cancel_work_timer+0xd4/0x11d > Jul 7 15:08:42 stein kernel: [] usb_unbind_interface+0x93/0xd1 > Jul 7 15:08:42 stein kernel: [] __device_release_driver+0x67/0xb0 > Jul 7 15:08:42 stein kernel: [] device_release_driver+0x20/0x2d > Jul 7 15:08:42 stein kernel: [] bus_remove_device+0xb1/0xc6 > Jul 7 15:08:42 stein kernel: [] device_del+0x11b/0x187 > Jul 7 15:08:42 stein kernel: [] usb_disable_device+0x55/0x14b > Jul 7 15:08:42 stein kernel: [] usb_disconnect+0xa4/0x140 > Jul 7 15:08:42 stein kernel: [] hub_thread+0x53d/0xe5a > Jul 7 15:08:42 stein kernel: [] ? schedule+0x878/0x8b0 > Jul 7 15:08:42 stein kernel: [] ? schedule+0x30f/0x8b0 > Jul 7 15:08:42 stein kernel: [] ? wake_up_bit+0x25/0x25 > Jul 7 15:08:42 stein kernel: [] ? _raw_spin_unlock_irqrestore+0x46/0x64 > Jul 7 15:08:42 stein kernel: [] ? hub_probe+0x7f3/0x7f3 > Jul 7 15:08:42 stein kernel: [] kthread+0x7d/0x85 > Jul 7 15:08:42 stein kernel: [] kernel_thread_helper+0x4/0x10 > Jul 7 15:08:42 stein kernel: [] ? finish_task_switch+0x42/0xbe > Jul 7 15:08:42 stein kernel: [] ? retint_restore_args+0xe/0xe > Jul 7 15:08:42 stein kernel: [] ? __init_kthread_worker+0x56/0x56 > Jul 7 15:08:42 stein kernel: [] ? gs_change+0xb/0xb > -- Stefan Richter -=====-==-== -=== --=== http://arcgraph.de/sr/