From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751238AbWGDJPp (ORCPT ); Tue, 4 Jul 2006 05:15:45 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751242AbWGDJPp (ORCPT ); Tue, 4 Jul 2006 05:15:45 -0400 Received: from smtp6-g19.free.fr ([212.27.42.36]:12194 "EHLO smtp6-g19.free.fr") by vger.kernel.org with ESMTP id S1751238AbWGDJPo (ORCPT ); Tue, 4 Jul 2006 05:15:44 -0400 From: Duncan Sands To: linux-kernel@vger.kernel.org Subject: possible irq lock inversion at cs46xx_dsp_remove_scb Date: Tue, 4 Jul 2006 11:15:35 +0200 User-Agent: KMail/1.9.1 Cc: alsa-devel@alsa-project.org, Ingo Molnar MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200607041115.35997.duncan.sands@math.u-psud.fr> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Linux version 2.6.17-git22 (duncan@baldrick) (gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #20 PREEMPT Tue Jul 4 10:35:04 CEST 2006 [ 612.924372] ========================================================= [ 612.948112] [ INFO: possible irq lock inversion dependency detected ] [ 612.967383] --------------------------------------------------------- [ 612.986657] aplay/5128 just changed the state of lock: [ 613.002034] (&ins->scbs[index].lock){-...}, at: [] cs46xx_dsp_remove_scb+0x1e/0xca [snd_cs46xx] [ 613.031150] but this lock was taken by another, hard-irq-safe lock in the past: [ 613.053019] (&substream->self_group.lock){+...} [ 613.066369] [ 613.066371] and interrupts could create inverse lock ordering between them. [ 613.066374] [ 613.096680] [ 613.096682] other info that might help us debug this: [ 613.116266] 3 locks held by aplay/5128: [ 613.127745] #0: (&mm->mmap_sem){----}, at: [] sys_munmap+0x26/0x42 [ 613.149615] #1: (&pcm->open_mutex){--..}, at: [] mutex_lock+0x1c/0x1f [ 613.172263] #2: (&chip->spos_mutex){--..}, at: [] mutex_lock+0x1c/0x1f [ 613.195173] [ 613.195174] the first lock's dependencies: [ 613.211900] -> (&ins->scbs[index].lock){-...} ops: 3 { [ 613.227484] initial-use at: [ 613.236939] [] lock_acquire+0x5e/0x80 [ 613.262574] [] _spin_lock+0x23/0x32 [ 613.287743] [] cs46xx_dsp_pcm_link+0x1f/0xf7 [snd_cs46xx] [ 613.318625] [] snd_cs46xx_playback_trigger+0x7a/0xc9 [snd_cs46xx] [ 613.351559] [] snd_pcm_do_start+0x19/0x20 [snd_pcm] [ 613.380883] [] snd_pcm_action_single+0x23/0x49 [snd_pcm] [ 613.411455] [] snd_pcm_action+0x66/0x72 [snd_pcm] [ 613.440234] [] snd_pcm_start+0x14/0x16 [snd_pcm] [ 613.468727] [] snd_pcm_lib_write1+0x38c/0x3fd [snd_pcm] [ 613.499065] [] snd_pcm_lib_write+0x4b/0x59 [snd_pcm] [ 613.528624] [] snd_pcm_playback_ioctl1+0x91/0x3b3 [snd_pcm] [ 613.560025] [] snd_pcm_playback_ioctl+0x27/0x34 [snd_pcm] [ 613.590882] [] do_ioctl+0x20/0x65 [ 613.615505] [] vfs_ioctl+0x258/0x26b [ 613.640908] [] sys_ioctl+0x2a/0x44 [ 613.665817] [] sysenter_past_esp+0x56/0x8d [ 613.692778] hardirq-on-W at: [ 613.702232] [] lock_acquire+0x5e/0x80 [ 613.727920] [] _spin_lock+0x23/0x32 [ 613.753036] [] cs46xx_dsp_remove_scb+0x1e/0xca [snd_cs46xx] [ 613.784411] [] cs46xx_dsp_destroy_pcm_channel+0x52/0x7a [snd_cs46xx] [ 613.818100] [] snd_cs46xx_playback_close+0x36/0x64 [snd_cs46xx] [ 613.850515] [] snd_pcm_release_substream+0x3d/0x66 [snd_pcm] [ 613.882151] [] snd_pcm_release+0x3b/0xc3 [snd_pcm] [ 613.911190] [] __fput+0xb1/0x1a4 [ 613.935554] [] fput+0x16/0x18 [ 613.959163] [] remove_vma+0x37/0x49 [ 613.984281] [] do_munmap+0x193/0x1ad [ 614.009707] [] sys_munmap+0x33/0x42 [ 614.034824] [] sysenter_past_esp+0x56/0x8d [ 614.061787] } [ 614.066772] ... key at: [] __key.19769+0x0/0xffff3e4f [snd_cs46xx] [ 614.089526] -> (&chip->reg_lock#2){....} ops: 22 { [ 614.104694] initial-use at: [ 614.114720] [] lock_acquire+0x5e/0x80 [ 614.135135] [] _spin_lock_irqsave+0x2c/0x3c [ 614.157083] [] _dsp_create_generic_scb+0x89/0xdd [snd_cs46xx] [ 614.183733] [] cs46xx_dsp_create_generic_scb+0x48/0x53 [snd_cs46xx] [ 614.211913] [] cs46xx_dsp_create_codec_out_scb+0x54/0x5c [snd_cs46xx] [ 614.240641] [] cs46xx_dsp_scb_and_task_init+0x1d8/0x876 [snd_cs46xx] [ 614.269108] [] snd_cs46xx_start_dsp+0x94/0x182 [snd_cs46xx] [ 614.295238] [] snd_card_cs46xx_probe+0x144/0x1c1 [snd_cs46xx] [ 614.321886] [] pci_device_probe+0x39/0x59 [ 614.343341] [] driver_probe_device+0x45/0x98 [ 614.365574] [] __driver_attach+0x5c/0x85 [ 614.386770] [] bus_for_each_dev+0x3a/0x5f [ 614.408248] [] driver_attach+0x14/0x17 [ 614.428897] [] bus_add_driver+0x69/0xf6 [ 614.449806] [] driver_register+0x9d/0xa2 [ 614.470975] [] __pci_register_driver+0x4f/0x6c [ 614.493703] [] ipt_hook+0x12/0x1e [iptable_filter] [ 614.517495] [] sys_init_module+0x1345/0x14a6 [ 614.539728] [] sysenter_past_esp+0x56/0x8d [ 614.561442] } [ 614.567000] ... key at: [] __key.21446+0x0/0xffff3e67 [snd_cs46xx] [ 614.590325] ... acquired at: [ 614.599208] [] lock_acquire+0x5e/0x80 [ 614.613754] [] _spin_lock_irqsave+0x2c/0x3c [ 614.629857] [] cs46xx_dsp_pcm_link+0x6d/0xf7 [snd_cs46xx] [ 614.649598] [] snd_cs46xx_playback_trigger+0x7a/0xc9 [snd_cs46xx] [ 614.671414] [] snd_pcm_do_start+0x19/0x20 [snd_pcm] [ 614.689596] [] snd_pcm_action_single+0x23/0x49 [snd_pcm] [ 614.709051] [] snd_pcm_action+0x66/0x72 [snd_pcm] [ 614.726714] [] snd_pcm_start+0x14/0x16 [snd_pcm] [ 614.744089] [] snd_pcm_lib_write1+0x38c/0x3fd [snd_pcm] [ 614.763285] [] snd_pcm_lib_write+0x4b/0x59 [snd_pcm] [ 614.781727] [] snd_pcm_playback_ioctl1+0x91/0x3b3 [snd_pcm] [ 614.801959] [] snd_pcm_playback_ioctl+0x27/0x34 [snd_pcm] [ 614.821700] [] do_ioctl+0x20/0x65 [ 614.835205] [] vfs_ioctl+0x258/0x26b [ 614.849464] [] sys_ioctl+0x2a/0x44 [ 614.863231] [] sysenter_past_esp+0x56/0x8d [ 614.879075] [ 614.883543] [ 614.883544] the second lock's dependencies: [ 614.900529] -> (&substream->self_group.lock){+...} ops: 124 { [ 614.917932] initial-use at: [ 614.927361] [] lock_acquire+0x5e/0x80 [ 614.953074] [] _spin_lock+0x23/0x32 [ 614.978217] [] snd_pcm_hw_params+0x29/0x26f [snd_pcm] [ 615.008087] [] snd_pcm_common_ioctl1+0x1f9/0xdc1 [snd_pcm] [ 615.039229] [] snd_pcm_playback_ioctl1+0x39c/0x3b3 [snd_pcm] [ 615.070892] [] snd_pcm_playback_ioctl+0x27/0x34 [snd_pcm] [ 615.101773] [] do_ioctl+0x20/0x65 [ 615.126424] [] vfs_ioctl+0x258/0x26b [ 615.151852] [] sys_ioctl+0x2a/0x44 [ 615.176785] [] sysenter_past_esp+0x56/0x8d [ 615.203720] in-hardirq-W at: [ 615.213174] [] lock_acquire+0x5e/0x80 [ 615.238863] [] _spin_lock+0x23/0x32 [ 615.264006] [] snd_pcm_period_elapsed+0x37/0x200 [snd_pcm] [ 615.295175] [] snd_cs46xx_interrupt+0xa6/0x165 [snd_cs46xx] [ 615.326576] [] handle_IRQ_event+0x1f/0x4c [ 615.353330] [] __do_IRQ+0x83/0xde [ 615.377979] [] do_IRQ+0x95/0xa7 [ 615.402135] [] common_interrupt+0x25/0x2c [ 615.428862] [] cpu_idle+0x46/0x72 [ 615.453510] [] rest_init+0x37/0x39 [ 615.478393] [] start_kernel+0x2c1/0x2c3 [ 615.504626] [] 0xc0100199 [ 615.527172] } [ 615.532160] ... key at: [] __key.15635+0x0/0xffff7bee [snd_pcm] [ 615.554131] -> (&ins->scbs[index].lock){-...} ops: 3 { [ 615.570287] initial-use at: [ 615.580315] [] lock_acquire+0x5e/0x80 [ 615.600755] [] _spin_lock+0x23/0x32 [ 615.620651] [] cs46xx_dsp_pcm_link+0x1f/0xf7 [snd_cs46xx] [ 615.646288] [] snd_cs46xx_playback_trigger+0x7a/0xc9 [snd_cs46xx] [ 615.673950] [] snd_pcm_do_start+0x19/0x20 [snd_pcm] [ 615.698054] [] snd_pcm_action_single+0x23/0x49 [snd_pcm] [ 615.723428] [] snd_pcm_action+0x66/0x72 [snd_pcm] [ 615.746960] [] snd_pcm_start+0x14/0x16 [snd_pcm] [ 615.770207] [] snd_pcm_lib_write1+0x38c/0x3fd [snd_pcm] [ 615.795299] [] snd_pcm_lib_write+0x4b/0x59 [snd_pcm] [ 615.819635] [] snd_pcm_playback_ioctl1+0x91/0x3b3 [snd_pcm] [ 615.845766] [] snd_pcm_playback_ioctl+0x27/0x34 [snd_pcm] [ 615.871401] [] do_ioctl+0x20/0x65 [ 615.890804] [] vfs_ioctl+0x258/0x26b [ 615.910958] [] sys_ioctl+0x2a/0x44 [ 615.930596] [] sysenter_past_esp+0x56/0x8d [ 615.952283] hardirq-on-W at: [ 615.962308] [] lock_acquire+0x5e/0x80 [ 615.982778] [] _spin_lock+0x23/0x32 [ 616.002647] [] cs46xx_dsp_remove_scb+0x1e/0xca [snd_cs46xx] [ 616.028801] [] cs46xx_dsp_destroy_pcm_channel+0x52/0x7a [snd_cs46xx] [ 616.057243] [] snd_cs46xx_playback_close+0x36/0x64 [snd_cs46xx] [ 616.084437] [] snd_pcm_release_substream+0x3d/0x66 [snd_pcm] [ 616.110827] [] snd_pcm_release+0x3b/0xc3 [snd_pcm] [ 616.134645] [] __fput+0xb1/0x1a4 [ 616.153761] [] fput+0x16/0x18 [ 616.172099] [] remove_vma+0x37/0x49 [ 616.191995] [] do_munmap+0x193/0x1ad [ 616.212151] [] sys_munmap+0x33/0x42 [ 616.232046] [] sysenter_past_esp+0x56/0x8d [ 616.253760] } [ 616.259319] ... key at: [] __key.19769+0x0/0xffff3e4f [snd_cs46xx] [ 616.282643] -> (&chip->reg_lock#2){....} ops: 22 { [ 616.298383] initial-use at: [ 616.308955] [] lock_acquire+0x5e/0x80 [ 616.329681] [] _spin_lock_irqsave+0x2c/0x3c [ 616.351940] [] _dsp_create_generic_scb+0x89/0xdd [snd_cs46xx] [ 616.378875] [] cs46xx_dsp_create_generic_scb+0x48/0x53 [snd_cs46xx] [ 616.407369] [] cs46xx_dsp_create_codec_out_scb+0x54/0x5c [snd_cs46xx] [ 616.436407] [] cs46xx_dsp_scb_and_task_init+0x1d8/0x876 [snd_cs46xx] [ 616.465160] [] snd_cs46xx_start_dsp+0x94/0x182 [snd_cs46xx] [ 616.491577] [] snd_card_cs46xx_probe+0x144/0x1c1 [snd_cs46xx] [ 616.518537] [] pci_device_probe+0x39/0x59 [ 616.540302] [] driver_probe_device+0x45/0x98 [ 616.562822] [] __driver_attach+0x5c/0x85 [ 616.584329] [] bus_for_each_dev+0x3a/0x5f [ 616.606067] [] driver_attach+0x14/0x17 [ 616.627030] [] bus_add_driver+0x69/0xf6 [ 616.648275] [] driver_register+0x9d/0xa2 [ 616.669755] [] __pci_register_driver+0x4f/0x6c [ 616.692794] [] ipt_hook+0x12/0x1e [iptable_filter] [ 616.716898] [] sys_init_module+0x1345/0x14a6 [ 616.739443] [] sysenter_past_esp+0x56/0x8d [ 616.761443] } [ 616.767573] ... key at: [] __key.21446+0x0/0xffff3e67 [snd_cs46xx] [ 616.791469] ... acquired at: [ 616.800923] [] lock_acquire+0x5e/0x80 [ 616.815470] [] _spin_lock_irqsave+0x2c/0x3c [ 616.831545] [] cs46xx_dsp_pcm_link+0x6d/0xf7 [snd_cs46xx] [ 616.851259] [] snd_cs46xx_playback_trigger+0x7a/0xc9 [snd_cs46xx] [ 616.873053] [] snd_pcm_do_start+0x19/0x20 [snd_pcm] [ 616.891234] [] snd_pcm_action_single+0x23/0x49 [snd_pcm] [ 616.910714] [] snd_pcm_action+0x66/0x72 [snd_pcm] [ 616.928377] [] snd_pcm_start+0x14/0x16 [snd_pcm] [ 616.945752] [] snd_pcm_lib_write1+0x38c/0x3fd [snd_pcm] [ 616.964948] [] snd_pcm_lib_write+0x4b/0x59 [snd_pcm] [ 616.983389] [] snd_pcm_playback_ioctl1+0x91/0x3b3 [snd_pcm] [ 617.003649] [] snd_pcm_playback_ioctl+0x27/0x34 [snd_pcm] [ 617.023389] [] do_ioctl+0x20/0x65 [ 617.036894] [] vfs_ioctl+0x258/0x26b [ 617.051181] [] sys_ioctl+0x2a/0x44 [ 617.064946] [] sysenter_past_esp+0x56/0x8d [ 617.080791] [ 617.085259] ... acquired at: [ 617.094141] [] lock_acquire+0x5e/0x80 [ 617.108685] [] _spin_lock+0x23/0x32 [ 617.122711] [] cs46xx_dsp_pcm_link+0x1f/0xf7 [snd_cs46xx] [ 617.142453] [] snd_cs46xx_playback_trigger+0x7a/0xc9 [snd_cs46xx] [ 617.164269] [] snd_pcm_do_start+0x19/0x20 [snd_pcm] [ 617.182452] [] snd_pcm_action_single+0x23/0x49 [snd_pcm] [ 617.201905] [] snd_pcm_action+0x66/0x72 [snd_pcm] [ 617.219569] [] snd_pcm_start+0x14/0x16 [snd_pcm] [ 617.236970] [] snd_pcm_lib_write1+0x38c/0x3fd [snd_pcm] [ 617.256191] [] snd_pcm_lib_write+0x4b/0x59 [snd_pcm] [ 617.274633] [] snd_pcm_playback_ioctl1+0x91/0x3b3 [snd_pcm] [ 617.294891] [] snd_pcm_playback_ioctl+0x27/0x34 [snd_pcm] [ 617.314631] [] do_ioctl+0x20/0x65 [ 617.328139] [] vfs_ioctl+0x258/0x26b [ 617.342423] [] sys_ioctl+0x2a/0x44 [ 617.356190] [] sysenter_past_esp+0x56/0x8d [ 617.372034] [ 617.376501] -> (&timer->lock){....} ops: 2 { [ 617.390034] initial-use at: [ 617.400060] [] lock_acquire+0x5e/0x80 [ 617.420500] [] _spin_lock_irqsave+0x2c/0x3c [ 617.442475] [] snd_timer_notify+0x2c/0xf2 [snd_timer] [ 617.467098] [] snd_pcm_post_start+0x51/0x56 [snd_pcm] [ 617.491669] [] snd_pcm_action_single+0x31/0x49 [snd_pcm] [ 617.517044] [] snd_pcm_action+0x66/0x72 [snd_pcm] [ 617.540551] [] snd_pcm_start+0x14/0x16 [snd_pcm] [ 617.563823] [] snd_pcm_lib_write1+0x38c/0x3fd [snd_pcm] [ 617.588915] [] snd_pcm_lib_write+0x4b/0x59 [snd_pcm] [ 617.613252] [] snd_pcm_playback_ioctl1+0x91/0x3b3 [snd_pcm] [ 617.639382] [] snd_pcm_playback_ioctl+0x27/0x34 [snd_pcm] [ 617.665018] [] do_ioctl+0x20/0x65 [ 617.684420] [] vfs_ioctl+0x258/0x26b [ 617.704601] [] sys_ioctl+0x2a/0x44 [ 617.724238] [] sysenter_past_esp+0x56/0x8d [ 617.745977] } [ 617.751536] ... key at: [] __key.15468+0x0/0xffffd7f8 [snd_timer] [ 617.774601] ... acquired at: [ 617.783484] [] lock_acquire+0x5e/0x80 [ 617.798028] [] _spin_lock_irqsave+0x2c/0x3c [ 617.814133] [] snd_timer_notify+0x2c/0xf2 [snd_timer] [ 617.832834] [] snd_pcm_post_start+0x51/0x56 [snd_pcm] [ 617.851534] [] snd_pcm_action_single+0x31/0x49 [snd_pcm] [ 617.871014] [] snd_pcm_action+0x66/0x72 [snd_pcm] [ 617.888651] [] snd_pcm_start+0x14/0x16 [snd_pcm] [ 617.906053] [] snd_pcm_lib_write1+0x38c/0x3fd [snd_pcm] [ 617.925249] [] snd_pcm_lib_write+0x4b/0x59 [snd_pcm] [ 617.943664] [] snd_pcm_playback_ioctl1+0x91/0x3b3 [snd_pcm] [ 617.963924] [] snd_pcm_playback_ioctl+0x27/0x34 [snd_pcm] [ 617.983664] [] do_ioctl+0x20/0x65 [ 617.997142] [] vfs_ioctl+0x258/0x26b [ 618.011402] [] sys_ioctl+0x2a/0x44 [ 618.025169] [] sysenter_past_esp+0x56/0x8d [ 618.041013] [ 618.045480] -> (&waitqueue_lock_key){++..} ops: 108332 { [ 618.062156] initial-use at: [ 618.072181] [] lock_acquire+0x5e/0x80 [ 618.092596] [] _spin_lock_irq+0x29/0x38 [ 618.113531] [] wait_for_completion+0x24/0xaf [ 618.135740] [] keventd_create_kthread+0x2b/0x57 [ 618.158803] [] kthread_create+0xdb/0x121 [ 618.179999] [] cpu_callback+0x49/0x8e [ 618.200440] [] spawn_ksoftirqd+0x1c/0x32 [ 618.221661] [] init+0x26/0x213 [ 618.240284] [] kernel_thread_helper+0x5/0xb [ 618.262256] in-hardirq-W at: [ 618.272282] [] lock_acquire+0x5e/0x80 [ 618.292698] [] _spin_lock_irqsave+0x2c/0x3c [ 618.314671] [] complete+0x12/0x3e [ 618.334049] [] blk_end_sync_rq+0x1f/0x22 [ 618.355270] [] end_that_request_last+0x7f/0x90 [ 618.378073] [] ide_end_drive_cmd+0x2ba/0x2ce [ 618.400282] [] task_no_data_intr+0x60/0x68 [ 618.422021] [] ide_intr+0x147/0x1a7 [ 618.441891] [] handle_IRQ_event+0x1f/0x4c [ 618.463346] [] __do_IRQ+0x83/0xde [ 618.482723] [] do_IRQ+0x95/0xa7 [ 618.501631] [] common_interrupt+0x25/0x2c [ 618.523085] [] cpu_idle+0x46/0x72 [ 618.542488] [] rest_init+0x37/0x39 [ 618.562124] [] start_kernel+0x2c1/0x2c3 [ 618.583084] [] 0xc0100199 [ 618.600358] in-softirq-W at: [ 618.610384] [] lock_acquire+0x5e/0x80 [ 618.630772] [] _spin_lock_irqsave+0x2c/0x3c [ 618.652773] [] complete+0x12/0x3e [ 618.672122] [] wakeme_after_rcu+0xb/0xd [ 618.693057] [] __rcu_process_callbacks+0xff/0x153 [ 618.716590] [] rcu_process_callbacks+0x12/0x23 [ 618.739369] [] tasklet_action+0x45/0x76 [ 618.760303] [] __do_softirq+0x55/0xae [ 618.780746] [] do_softirq+0x58/0xbd [ 618.800614] } [ 618.806173] ... key at: [] waitqueue_lock_key+0x0/0x8 [ 618.826122] -> (&rq->rq_lock_key){++..} ops: 422511 { [ 618.842589] initial-use at: [ 618.853159] [] lock_acquire+0x5e/0x80 [ 618.873888] [] _spin_lock_irqsave+0x2c/0x3c [ 618.896171] [] init_idle+0x4c/0x72 [ 618.916093] [] sched_init+0xba/0xbd [ 618.936302] [] start_kernel+0x5e/0x2c3 [ 618.957288] [] 0xc0100199 [ 618.974899] in-hardirq-W at: [ 618.985470] [] lock_acquire+0x5e/0x80 [ 619.006222] [] _spin_lock+0x23/0x32 [ 619.026405] [] scheduler_tick+0xa8/0x2ab [ 619.047938] [] update_process_times+0x59/0x65 [ 619.070715] [] timer_interrupt+0x5e/0x96 [ 619.092247] [] handle_IRQ_event+0x1f/0x4c [ 619.113988] [] __do_IRQ+0x83/0xde [ 619.133702] [] do_IRQ+0x95/0xa7 [ 619.152872] [] common_interrupt+0x25/0x2c [ 619.174635] [] clear_IO_APIC_pin+0x83/0x11f [ 619.196896] [] clear_IO_APIC+0x13/0x2d [ 619.217908] [] setup_IO_APIC+0x217/0xb62 [ 619.239388] [] APIC_init_uniprocessor+0xd2/0xe0 [ 619.262713] [] init+0x30/0x213 [ 619.281622] [] kernel_thread_helper+0x5/0xb [ 619.303907] in-softirq-W at: [ 619.314480] [] lock_acquire+0x5e/0x80 [ 619.335206] [] _spin_lock+0x23/0x32 [ 619.355439] [] scheduler_tick+0xa8/0x2ab [ 619.376947] [] update_process_times+0x59/0x65 [ 619.399776] [] timer_interrupt+0x5e/0x96 [ 619.421282] [] handle_IRQ_event+0x1f/0x4c [ 619.443049] [] __do_IRQ+0x83/0xde [ 619.462738] [] do_IRQ+0x95/0xa7 [ 619.481933] [] common_interrupt+0x25/0x2c [ 619.503671] [] file_free_rcu+0xf/0x11 [ 619.524398] [] __rcu_process_callbacks+0xff/0x153 [ 619.548217] [] rcu_process_callbacks+0x12/0x23 [ 619.571308] [] tasklet_action+0x45/0x76 [ 619.592553] [] __do_softirq+0x55/0xae [ 619.613280] [] do_softirq+0x58/0xbd [ 619.633462] } [ 619.639592] ... key at: [] per_cpu__runqueues+0x98c/0x994 [ 619.661150] ... acquired at: [ 619.670604] [] lock_acquire+0x5e/0x80 [ 619.685124] [] _spin_lock+0x23/0x32 [ 619.699150] [] task_rq_lock+0x17/0x1e [ 619.713696] [] try_to_wake_up+0x18/0x108 [ 619.729020] [] default_wake_function+0xb/0xd [ 619.745382] [] __wake_up_common+0x2f/0x53 [ 619.760942] [] complete+0x2b/0x3e [ 619.774447] [] kthread+0x90/0xdb [ 619.787694] [] kernel_thread_helper+0x5/0xb [ 619.803799] [ 619.808265] ... acquired at: [ 619.817149] [] lock_acquire+0x5e/0x80 [ 619.831694] [] _spin_lock_irqsave+0x2c/0x3c [ 619.847797] [] __wake_up+0x13/0x39 [ 619.861537] [] snd_pcm_period_elapsed+0x194/0x200 [snd_pcm] [ 619.881797] [] snd_cs46xx_interrupt+0xa6/0x165 [snd_cs46xx] [ 619.902057] [] handle_IRQ_event+0x1f/0x4c [ 619.917641] [] __do_IRQ+0x83/0xde [ 619.931147] [] do_IRQ+0x95/0xa7 [ 619.944107] [] common_interrupt+0x25/0x2c [ 619.959666] [] cpu_idle+0x46/0x72 [ 619.973173] [] rest_init+0x37/0x39 [ 619.986939] [] start_kernel+0x2c1/0x2c3 [ 620.002003] [] 0xc0100199 [ 620.013432] [ 620.017900] [ 620.017901] stack backtrace: [ 620.031230] [] show_trace_log_lvl+0x54/0xfd [ 620.046673] [] show_trace+0xd/0x10 [ 620.059765] [] dump_stack+0x17/0x1b [ 620.073115] [] print_irq_inversion_bug+0xe1/0xee [ 620.089971] [] check_usage_backwards+0x32/0x3b [ 620.106306] [] mark_lock+0x1ff/0x349 [ 620.120048] [] __lock_acquire+0x41d/0x9d3 [ 620.135087] [] lock_acquire+0x5e/0x80 [ 620.149086] [] _spin_lock+0x23/0x32 [ 620.162573] [] cs46xx_dsp_remove_scb+0x1e/0xca [snd_cs46xx] [ 620.182194] [] cs46xx_dsp_destroy_pcm_channel+0x52/0x7a [snd_cs46xx] [ 620.204122] [] snd_cs46xx_playback_close+0x36/0x64 [snd_cs46xx] [ 620.224733] [] snd_pcm_release_substream+0x3d/0x66 [snd_pcm] [ 620.244585] [] snd_pcm_release+0x3b/0xc3 [snd_pcm] [ 620.261830] [] __fput+0xb1/0x1a4 [ 620.274657] [] fput+0x16/0x18 [ 620.286687] [] remove_vma+0x37/0x49 [ 620.300239] [] do_munmap+0x193/0x1ad [ 620.314059] [] sys_munmap+0x33/0x42 [ 620.327616] [] sysenter_past_esp+0x56/0x8d