From mboxrd@z Thu Jan 1 00:00:00 1970 From: Johannes Berg Subject: lockdep report at resume Date: Sat, 07 Feb 2009 17:01:57 +0100 Message-ID: <1234022517.4175.107.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]:58249 "EHLO sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752519AbZBGQCH (ORCPT ); Sat, 7 Feb 2009 11:02:07 -0500 Sender: linux-input-owner@vger.kernel.org List-Id: linux-input@vger.kernel.org To: Dmitry Torokhov Cc: linux-input Nothing special, just suspended/resumed with an external USB mouse, internal keyboard is USB as well: [20920.458587] ======================================================= [20920.458944] [ INFO: possible circular locking dependency detected ] [20920.459231] 2.6.29-rc3-wl-12787-g17d9115-dirty #38 [20920.459449] ------------------------------------------------------- [20920.459736] events/0/9 is trying to acquire lock: [20920.459951] (&dev->mutex){--..}, at: [] input_disconnect_device+0x2c/0xf0 [20920.460369] [20920.460370] but task is already holding lock: [20920.460637] (&usbhid->reset_work){--..}, at: [] run_workqueue+0xb3/0x250 [20920.461049] [20920.461050] which lock already depends on the new lock. [20920.461051] [20920.461425] [20920.461425] the existing dependency chain (in reverse order) is: [20920.461767] [20920.461767] -> #4 (&usbhid->reset_work){--..}: [20920.462068] [] check_prev_add+0x3b7/0x770 [20920.462361] [] validate_chain+0x606/0x6c0 [20920.462653] [] __lock_acquire+0x43f/0xa10 [20920.462945] [] lock_acquire+0x91/0xc0 [20920.463222] [] run_workqueue+0xff/0x250 [20920.463506] [] worker_thread+0xaf/0x130 [20920.463791] [] kthread+0x49/0x90 [20920.464048] [] child_rip+0xa/0x20 [20920.464310] [] 0xffffffffffffffff [20920.464572] [20920.464572] -> #3 (events){--..}: [20920.464821] [] check_prev_add+0x3b7/0x770 [20920.465113] [] validate_chain+0x606/0x6c0 [20920.465405] [] __lock_acquire+0x43f/0xa10 [20920.465697] [] lock_acquire+0x91/0xc0 [20920.465974] [] cleanup_workqueue_thread+0x3d/0x80 [20920.466298] [] workqueue_cpu_callback+0x95/0x12a [20920.466619] [] notifier_call_chain+0x65/0xa0 [20920.466924] [] raw_notifier_call_chain+0x11/0x20 [20920.467244] [] _cpu_down+0x1d3/0x350 [20920.467518] [] disable_nonboot_cpus+0xdd/0x160 [20920.467831] [] hibernation_snapshot+0x135/0x170 [20920.468134] [] snapshot_ioctl+0x41d/0x610 [20920.468134] [] vfs_ioctl+0x31/0xa0 [20920.468134] [] do_vfs_ioctl+0x89/0x350 [20920.468134] [] sys_ioctl+0x4a/0x80 [20920.468134] [] system_call_fastpath+0x16/0x1b [20920.468134] [] 0xffffffffffffffff [20920.468134] [20920.468134] -> #2 (cpu_add_remove_lock){--..}: [20920.468134] [] check_prev_add+0x3b7/0x770 [20920.468134] [] validate_chain+0x606/0x6c0 [20920.468134] [] __lock_acquire+0x43f/0xa10 [20920.468134] [] lock_acquire+0x91/0xc0 [20920.468134] [] mutex_lock_nested+0xec/0x380 [20920.468134] [] cpu_maps_update_begin+0x12/0x20 [20920.468134] [] destroy_workqueue+0x33/0xb0 [20920.468134] [] input_close_polled_device+0x40/0x50 [input_polldev] [20920.468134] [] input_close_device+0x57/0x90 [20920.468134] [] evdev_release+0xa9/0xd0 [evdev] [20920.468134] [] __fput+0xd0/0x1e0 [20920.468134] [] fput+0x1d/0x30 [20920.468134] [] filp_close+0x50/0x80 [20920.468134] [] sys_close+0xb9/0x120 [20920.468134] [] system_call_fastpath+0x16/0x1b [20920.468134] [] 0xffffffffffffffff [20920.468134] [20920.468134] -> #1 (polldev_mutex){--..}: [20920.468134] [] check_prev_add+0x3b7/0x770 [20920.468134] [] validate_chain+0x606/0x6c0 [20920.468134] [] __lock_acquire+0x43f/0xa10 [20920.468134] [] lock_acquire+0x91/0xc0 [20920.468134] [] mutex_lock_interruptible_nested+0xec/0x430 [20920.468134] [] input_open_polled_device+0x1c/0xc0 [input_polldev] [20920.468134] [] input_open_device+0x98/0xc0 [20920.468134] [] evdev_open+0x1c0/0x1e0 [evdev] [20920.468134] [] input_open_file+0xff/0x1e0 [20920.468134] [] chrdev_open+0x137/0x210 [20920.468134] [] __dentry_open+0x10a/0x340 [20920.468134] [] nameidata_to_filp+0x57/0x70 [20920.468134] [] do_filp_open+0x1fe/0x970 [20920.468134] [] do_sys_open+0x78/0x110 [20920.468134] [] sys_open+0x1b/0x20 [20920.468134] [] system_call_fastpath+0x16/0x1b [20920.468134] [] 0xffffffffffffffff [20920.468134] [20920.468134] -> #0 (&dev->mutex){--..}: [20920.468134] [] check_prev_add+0x57/0x770 [20920.468134] [] validate_chain+0x606/0x6c0 [20920.468134] [] __lock_acquire+0x43f/0xa10 [20920.468134] [] lock_acquire+0x91/0xc0 [20920.468134] [] mutex_lock_nested+0xec/0x380 [20920.468134] [] input_disconnect_device+0x2c/0xf0 [20920.468134] [] input_unregister_device+0x1c/0x100 [20920.468134] [] bcm5974_disconnect+0x24/0x90 [bcm5974] [20920.468134] [] usb_unbind_interface+0x68/0x170 [usbcore] [20920.468134] [] __device_release_driver+0x7c/0xc0 [20920.468134] [] device_release_driver+0x2b/0x40 [20920.468134] [] usb_driver_release_interface+0xc0/0xe0 [usbcore] [20920.468134] [] usb_forced_unbind_intf+0x34/0x90 [usbcore] [20920.468134] [] usb_reset_device+0xd5/0x220 [usbcore] [20920.468134] [] hid_reset+0x18a/0x280 [usbhid] [20920.468134] [] run_workqueue+0x105/0x250 [20920.468134] [] worker_thread+0xaf/0x130 [20920.468134] [] kthread+0x49/0x90 [20920.468134] [] child_rip+0xa/0x20 [20920.468134] [] 0xffffffffffffffff [20920.468134] [20920.468134] other info that might help us debug this: [20920.468134] [20920.468134] 2 locks held by events/0/9: [20920.468134] #0: (events){--..}, at: [] run_workqueue+0xb3/0x250 [20920.468134] #1: (&usbhid->reset_work){--..}, at: [] run_workqueue+0xb3/0x250 [20920.468134] [20920.468134] stack backtrace: [20920.468134] Pid: 9, comm: events/0 Not tainted 2.6.29-rc3-wl-12787-g17d9115-dirty #38 [20920.468134] Call Trace: [20920.468134] [] print_circular_bug_tail+0xe0/0xf0 [20920.468134] [] check_prev_add+0x57/0x770 [20920.468134] [] ? save_stack_trace+0x2a/0x50 [20920.468134] [] validate_chain+0x606/0x6c0 [20920.468134] [] __lock_acquire+0x43f/0xa10 [20920.468134] [] ? __lock_acquire+0x45d/0xa10 [20920.468134] [] lock_acquire+0x91/0xc0 [20920.468134] [] ? input_disconnect_device+0x2c/0xf0 [20920.468134] [] mutex_lock_nested+0xec/0x380 [20920.468134] [] ? input_disconnect_device+0x2c/0xf0 [20920.468134] [] ? trace_hardirqs_on_caller+0x182/0x1e0 [20920.468134] [] ? input_disconnect_device+0x2c/0xf0 [20920.468134] [] ? usb_hcd_flush_endpoint+0x84/0x200 [usbcore] [20920.468134] [] ? __mutex_unlock_slowpath+0x12d/0x1a0 [20920.468134] [] input_disconnect_device+0x2c/0xf0 [20920.468134] [] input_unregister_device+0x1c/0x100 [20920.468134] [] bcm5974_disconnect+0x24/0x90 [bcm5974] [20920.468134] [] usb_unbind_interface+0x68/0x170 [usbcore] [20920.468134] [] __device_release_driver+0x7c/0xc0 [20920.468134] [] device_release_driver+0x2b/0x40 [20920.468134] [] usb_driver_release_interface+0xc0/0xe0 [usbcore] [20920.468134] [] usb_forced_unbind_intf+0x34/0x90 [usbcore] [20920.468134] [] usb_reset_device+0xd5/0x220 [usbcore] [20920.468134] [] hid_reset+0x18a/0x280 [usbhid] [20920.468134] [] ? hid_reset+0x0/0x280 [usbhid] [20920.468134] [] run_workqueue+0x105/0x250 [20920.468134] [] ? run_workqueue+0xb3/0x250 [20920.468134] [] worker_thread+0xaf/0x130 [20920.468134] [] ? autoremove_wake_function+0x0/0x40 [20920.468134] [] ? worker_thread+0x0/0x130 [20920.468134] [] kthread+0x49/0x90 [20920.468134] [] child_rip+0xa/0x20 [20920.468134] [] ? restore_args+0x0/0x30 [20920.468134] [] ? kthread+0x0/0x90 [20920.468134] [] ? child_rip+0x0/0x20