From mboxrd@z Thu Jan 1 00:00:00 1970 From: Johannes Berg Subject: Re: lockdep report at resume Date: Wed, 01 Apr 2009 12:00:41 +0200 Message-ID: <1238580041.5970.180.camel@johannes.local> References: <1234022517.4175.107.camel@johannes.local> <1237536764.5100.124.camel@johannes.local> <1237800572.19647.97.camel@johannes.local> <1238488692.5970.80.camel@johannes.local> <1238578840.5970.178.camel@johannes.local> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: Received: from xc.sipsolutions.net ([83.246.72.84]:57644 "EHLO sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755795AbZDAKBQ (ORCPT ); Wed, 1 Apr 2009 06:01:16 -0400 In-Reply-To: <1238578840.5970.178.camel@johannes.local> Sender: linux-input-owner@vger.kernel.org List-Id: linux-input@vger.kernel.org To: Jiri Kosina Cc: Dmitry Torokhov , linux-input , linux-kernel , "Rafael J. Wysocki" , Oleg Nesterov On Wed, 2009-04-01 at 11:41 +0200, Johannes Berg wrote: > On Tue, 2009-03-31 at 10:40 +0200, Jiri Kosina wrote: > > > > > Could you please send me your config? > > > Sure, attached. I haven't yet tried to reproduce on .29 though, which > > > this config is for (but I haven't changed it since, only taken it > > > forward). > > I've now gotten it again on 2.6.29-wl-20327-g8f2487d-dirty. I guess I should've posted the entire report: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.29-wl-20327-g8f2487d-dirty #71 ------------------------------------------------------- events/0/9 is trying to acquire lock: (&dev->mutex){--..}, at: [] input_disconnect_device+0x31/0xf0 but task is already holding lock: (&usbhid->reset_work){--..}, at: [] run_workqueue+0xbb/0x250 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #4 (&usbhid->reset_work){--..}: [] check_prev_add+0x3b7/0x770 [] validate_chain+0x5f6/0x6b0 [] __lock_acquire+0x43f/0xa10 [] lock_acquire+0x91/0xc0 [] run_workqueue+0x107/0x250 [] worker_thread+0xaf/0x130 [] kthread+0x4e/0x90 [] child_rip+0xa/0x20 [] 0xffffffffffffffff -> #3 (events){--..}: [] check_prev_add+0x3b7/0x770 [] validate_chain+0x5f6/0x6b0 [] __lock_acquire+0x43f/0xa10 [] lock_acquire+0x91/0xc0 [] cleanup_workqueue_thread+0x42/0x90 [] workqueue_cpu_callback+0x9d/0x132 [] notifier_call_chain+0x65/0xa0 [] raw_notifier_call_chain+0x16/0x20 [] _cpu_down+0x1db/0x350 [] disable_nonboot_cpus+0xe5/0x170 [] hibernation_snapshot+0x135/0x170 [] snapshot_ioctl+0x425/0x620 [] vfs_ioctl+0x36/0xb0 [] do_vfs_ioctl+0x89/0x350 [] sys_ioctl+0x4f/0x80 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #2 (cpu_add_remove_lock){--..}: [] check_prev_add+0x3b7/0x770 [] validate_chain+0x5f6/0x6b0 [] __lock_acquire+0x43f/0xa10 [] lock_acquire+0x91/0xc0 [] mutex_lock_nested+0xfc/0x390 [] cpu_maps_update_begin+0x17/0x20 [] destroy_workqueue+0x38/0xb0 [] input_close_polled_device+0x45/0x60 [input_polldev] [] input_close_device+0x5c/0x90 [] evdev_release+0xa9/0xd0 [evdev] [] __fput+0xd5/0x1e0 [] fput+0x25/0x30 [] filp_close+0x58/0x90 [] sys_close+0xbe/0x120 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #1 (polldev_mutex){--..}: [] check_prev_add+0x3b7/0x770 [] validate_chain+0x5f6/0x6b0 [] __lock_acquire+0x43f/0xa10 [] lock_acquire+0x91/0xc0 [] mutex_lock_interruptible_nested+0xec/0x430 [] input_open_polled_device+0x21/0xd0 [input_polldev] [] input_open_device+0x98/0xc0 [] evdev_open+0x1c8/0x1f0 [evdev] [] input_open_file+0x10f/0x200 [] chrdev_open+0x147/0x220 [] __dentry_open+0x11b/0x350 [] nameidata_to_filp+0x57/0x70 [] do_filp_open+0x1fe/0x970 [] do_sys_open+0x80/0x110 [] sys_open+0x20/0x30 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #0 (&dev->mutex){--..}: [] check_prev_add+0x57/0x770 [] validate_chain+0x5f6/0x6b0 [] __lock_acquire+0x43f/0xa10 [] lock_acquire+0x91/0xc0 [] mutex_lock_nested+0xfc/0x390 [] input_disconnect_device+0x31/0xf0 [] input_unregister_device+0x1a/0x110 [] bcm5974_disconnect+0x29/0x90 [bcm5974] [] usb_unbind_interface+0x6d/0x180 [usbcore] [] __device_release_driver+0x81/0xc0 [] device_release_driver+0x30/0x50 [] usb_driver_release_interface+0xc8/0xf0 [usbcore] [] usb_forced_unbind_intf+0x39/0x90 [usbcore] [] usb_reset_device+0xd5/0x220 [usbcore] [] hid_reset+0x18a/0x280 [usbhid] [] run_workqueue+0x10d/0x250 [] worker_thread+0xaf/0x130 [] kthread+0x4e/0x90 [] child_rip+0xa/0x20 [] 0xffffffffffffffff other info that might help us debug this: 2 locks held by events/0/9: #0: (events){--..}, at: [] run_workqueue+0xbb/0x250 #1: (&usbhid->reset_work){--..}, at: [] run_workqueue+0xbb/0x250 stack backtrace: Pid: 9, comm: events/0 Not tainted 2.6.29-wl-20327-g8f2487d-dirty #71 Call Trace: [] print_circular_bug_tail+0xe0/0xf0 [] check_prev_add+0x57/0x770 [] ? save_stack_trace+0x2f/0x50 [] validate_chain+0x5f6/0x6b0 [] __lock_acquire+0x43f/0xa10 [] ? __lock_acquire+0x45d/0xa10 [] lock_acquire+0x91/0xc0 [] ? input_disconnect_device+0x31/0xf0 [] mutex_lock_nested+0xfc/0x390 [] ? input_disconnect_device+0x31/0xf0 [] ? input_disconnect_device+0x31/0xf0 [] input_disconnect_device+0x31/0xf0 [] input_unregister_device+0x1a/0x110 [] bcm5974_disconnect+0x29/0x90 [bcm5974] [] usb_unbind_interface+0x6d/0x180 [usbcore] [] __device_release_driver+0x81/0xc0 [] device_release_driver+0x30/0x50 [] usb_driver_release_interface+0xc8/0xf0 [usbcore] [] usb_forced_unbind_intf+0x39/0x90 [usbcore] [] usb_reset_device+0xd5/0x220 [usbcore] [] hid_reset+0x18a/0x280 [usbhid] [] ? hid_reset+0x0/0x280 [usbhid] [] run_workqueue+0x10d/0x250 [] ? run_workqueue+0xbb/0x250 [] worker_thread+0xaf/0x130 [] ? autoremove_wake_function+0x0/0x40 [] ? worker_thread+0x0/0x130 [] kthread+0x4e/0x90 [] child_rip+0xa/0x20 johannes