Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754057Ab1DSSH4 (ORCPT ); Tue, 19 Apr 2011 14:07:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35488 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752846Ab1DSSHz (ORCPT ); Tue, 19 Apr 2011 14:07:55 -0400 Date: Tue, 19 Apr 2011 14:07:45 -0400 From: Dave Jones To: Linux Kernel Cc: Jaroslav Kysela , Takashi Iwai Subject: lockdep trace when unplugging usb audio (.39rc4) Message-ID: <20110419180745.GA438@redhat.com> Mail-Followup-To: Dave Jones , Linux Kernel , Jaroslav Kysela , Takashi Iwai MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 9011 Lines: 179 I get this trace when I unplug my NuForce uDAC. Dave ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.39-rc4+ #9 ------------------------------------------------------- khubd/21 is trying to acquire lock: (register_mutex#4){+.+.+.}, at: [] snd_pcm_dev_disconnect+0x1e/0xdd [snd_pcm] but task is already holding lock: (&chip->shutdown_mutex){+.+.+.}, at: [] usb_audio_disconnect+0x4a/0x172 [snd_usb_audio] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #6 (&chip->shutdown_mutex){+.+.+.}: [] lock_acquire+0xd0/0xfb [] __mutex_lock_common+0x4c/0x35b [] mutex_lock_nested+0x3e/0x43 [] snd_usb_hw_free+0x44/0x6a [snd_usb_audio] [] snd_pcm_release_substream+0x44/0x99 [snd_pcm] [] snd_pcm_release+0x6a/0xba [snd_pcm] [] fput+0x127/0x1f5 [] remove_vma+0x56/0x87 [] do_munmap+0x2f2/0x30b [] sys_munmap+0x49/0x60 [] system_call_fastpath+0x16/0x1b -> #5 (&pcm->open_mutex){+.+.+.}: [] lock_acquire+0xd0/0xfb [] __mutex_lock_common+0x4c/0x35b [] mutex_lock_nested+0x3e/0x43 [] snd_pcm_release+0x62/0xba [snd_pcm] [] fput+0x127/0x1f5 [] remove_vma+0x56/0x87 [] do_munmap+0x2f2/0x30b [] sys_munmap+0x49/0x60 [] system_call_fastpath+0x16/0x1b -> #4 (&mm->mmap_sem){++++++}: [] lock_acquire+0xd0/0xfb [] might_fault+0x89/0xac [] filldir+0x6f/0xc7 [] dcache_readdir+0x67/0x204 [] vfs_readdir+0x78/0xb1 [] sys_getdents+0x7e/0xd1 [] system_call_fastpath+0x16/0x1b -> #3 (&sb->s_type->i_mutex_key#3){+.+.+.}: [] lock_acquire+0xd0/0xfb [] __mutex_lock_common+0x4c/0x35b [] mutex_lock_nested+0x3e/0x43 [] devtmpfs_create_node+0x1c6/0x23f [] device_add+0x1bb/0x5b3 [] device_register+0x1b/0x1f [] device_create_vargs+0x91/0xc9 [] device_create+0x31/0x33 [] misc_register+0xc1/0x111 [] vga_arb_device_init+0x15/0x8e [] do_one_initcall+0x7f/0x13a [] kernel_init+0xf7/0x171 [] kernel_thread_helper+0x4/0x10 -> #2 (&sb->s_type->i_mutex_key#2/1){+.+.+.}: [] lock_acquire+0xd0/0xfb [] __mutex_lock_common+0x4c/0x35b [] mutex_lock_nested+0x3e/0x43 [] lookup_create+0x28/0x99 [] devtmpfs_create_node+0x170/0x23f [] device_add+0x1bb/0x5b3 [] device_register+0x1b/0x1f [] device_create_vargs+0x91/0xc9 [] device_create+0x31/0x33 [] snd_register_device_for_dev+0x145/0x1b4 [snd] [] dell_rfkill_set+0x68/0x9c [dell_laptop] [] do_one_initcall+0x7f/0x13a [] sys_init_module+0x132/0x283 [] system_call_fastpath+0x16/0x1b -> #1 (sound_mutex){+.+.+.}: [] lock_acquire+0xd0/0xfb [] __mutex_lock_common+0x4c/0x35b [] mutex_lock_nested+0x3e/0x43 [] snd_register_device_for_dev+0xc7/0x1b4 [snd] [] snd_pcm_dev_register+0x182/0x24a [snd_pcm] [] snd_device_register_all+0x61/0x81 [snd] [] snd_card_register+0x88/0x1bb [snd] [] usb_audio_probe+0x67f/0x72c [snd_usb_audio] [] usb_probe_interface+0x150/0x1bd [] driver_probe_device+0x132/0x214 [] __driver_attach+0x5e/0x82 [] bus_for_each_dev+0x59/0x8f [] driver_attach+0x1e/0x20 [] bus_add_driver+0xd4/0x22a [] driver_register+0x98/0x105 [] usb_register_driver+0xb8/0x17c [] ipv6_defrag+0x35/0xe1 [nf_defrag_ipv6] [] do_one_initcall+0x7f/0x13a [] sys_init_module+0x132/0x283 [] system_call_fastpath+0x16/0x1b -> #0 (register_mutex#4){+.+.+.}: [] __lock_acquire+0x99e/0xc81 [] lock_acquire+0xd0/0xfb [] __mutex_lock_common+0x4c/0x35b [] mutex_lock_nested+0x3e/0x43 [] snd_pcm_dev_disconnect+0x1e/0xdd [snd_pcm] [] snd_device_disconnect+0x79/0xdf [snd] [] snd_device_disconnect_all+0x69/0x8d [snd] [] snd_card_disconnect+0x1a8/0x218 [snd] [] usb_audio_disconnect+0x76/0x172 [snd_usb_audio] [] usb_unbind_interface+0x5c/0x124 [] __device_release_driver+0x7c/0xd5 [] device_release_driver+0x25/0x32 [] bus_remove_device+0xc4/0xd4 [] device_del+0x13d/0x18b [] usb_disable_device+0x8c/0x178 [] usb_disconnect+0xd0/0x135 [] hub_thread+0x741/0x119d [] kthread+0xa8/0xb0 [] kernel_thread_helper+0x4/0x10 other info that might help us debug this: 5 locks held by khubd/21: #0: (&__lockdep_no_validate__){+.+.+.}, at: [] hub_thread+0x143/0x119d #1: (&__lockdep_no_validate__){+.+.+.}, at: [] usb_disconnect+0x84/0x135 #2: (&__lockdep_no_validate__){+.+.+.}, at: [] device_release_driver+0x1d/0x32 #3: (register_mutex#3){+.+.+.}, at: [] usb_audio_disconnect+0x40/0x172 [snd_usb_audio] #4: (&chip->shutdown_mutex){+.+.+.}, at: [] usb_audio_disconnect+0x4a/0x172 [snd_usb_audio] stack backtrace: Pid: 21, comm: khubd Not tainted 2.6.39-rc4+ #9 Call Trace: [] print_circular_bug+0xa6/0xb5 [] __lock_acquire+0x99e/0xc81 [] ? save_stack_trace+0x2c/0x49 [] ? snd_pcm_dev_disconnect+0x1e/0xdd [snd_pcm] [] lock_acquire+0xd0/0xfb [] ? snd_pcm_dev_disconnect+0x1e/0xdd [snd_pcm] [] ? native_sched_clock+0x34/0x36 [] ? snd_pcm_dev_disconnect+0x1e/0xdd [snd_pcm] [] __mutex_lock_common+0x4c/0x35b [] ? snd_pcm_dev_disconnect+0x1e/0xdd [snd_pcm] [] ? mark_held_locks+0x4b/0x6d [] ? __mutex_unlock_slowpath+0x112/0x122 [] ? trace_hardirqs_on_caller+0x10b/0x12f [] mutex_lock_nested+0x3e/0x43 [] snd_pcm_dev_disconnect+0x1e/0xdd [snd_pcm] [] snd_device_disconnect+0x79/0xdf [snd] [] snd_device_disconnect_all+0x69/0x8d [snd] [] snd_card_disconnect+0x1a8/0x218 [snd] [] usb_audio_disconnect+0x76/0x172 [snd_usb_audio] [] usb_unbind_interface+0x5c/0x124 [] __device_release_driver+0x7c/0xd5 [] device_release_driver+0x25/0x32 [] bus_remove_device+0xc4/0xd4 [] device_del+0x13d/0x18b [] usb_disable_device+0x8c/0x178 [] usb_disconnect+0xd0/0x135 [] hub_thread+0x741/0x119d [] ? trace_hardirqs_on+0xd/0xf [] ? __init_waitqueue_head+0x4b/0x4b [] ? usb_remote_wakeup+0x64/0x64 [] kthread+0xa8/0xb0 [] kernel_thread_helper+0x4/0x10 [] ? retint_restore_args+0x13/0x13 [] ? __init_kthread_worker+0x5a/0x5a [] ? gs_change+0x13/0x13 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/