linux/sound/pci
Frederik Deweerdt eaa9985b4e [ALSA] hda-codec - Fix unbalanced mutex
On Wed, Apr 02, 2008 at 08:19:29AM -0400, Miles Lane wrote:
> [   48.765906] [ BUG: bad unlock balance detected! ]
> [   48.765912] -------------------------------------
> [   48.765918] pulseaudio/4277 is trying to release lock
> (&codec->spdif_mutex) at:
> [   48.765930] [<c03031b7>] mutex_unlock+0x8/0xa
> [   48.765945] but there are no more locks to release!
> [   48.765950]
> [   48.765952] other info that might help us debug this:
> [   48.765959] 2 locks held by pulseaudio/4277:
> [   48.765965]  #0:  (&pcm->open_mutex){--..}, at: [<f89f134b>]
> snd_pcm_open+0xc1/0x1ba [snd_pcm]
> [   48.766003]  #1:  (&chip->open_mutex){--..}, at: [<f8b4f13d>]
> azx_pcm_open+0x36/0x184 [snd_hda_intel]
> [   48.766057]
> [   48.766059] stack backtrace:
> [   48.766066] Pid: 4277, comm: pulseaudio Not tainted 2.6.25-rc8-mm1 #12
> [   48.766086]  [<c013afc6>] print_unlock_inbalance_bug+0xce/0xd8
> [   48.766107]  [<c0109e1c>] ? save_stack_trace+0x1d/0x3b
> [   48.766130]  [<c012f54e>] ? __kernel_text_address+0x1b/0x27
> [   48.766146]  [<c0104533>] ? dump_trace+0xcd/0xd9
> [   48.766160]  [<c0109d9e>] ? save_stack_address+0x0/0x2c
> [   48.766176]  [<c013b80a>] ? find_usage_backwards+0xa4/0xc3
> [   48.766193]  [<c013cfb5>] lock_release_non_nested+0x84/0x120
> [   48.766209]  [<c03031b7>] ? mutex_unlock+0x8/0xa
> [   48.766222]  [<c013d1bb>] lock_release+0x16a/0x199
> [   48.766238]  [<c0303137>] __mutex_unlock_slowpath+0xa9/0x121
> [   48.766252]  [<c03031b7>] mutex_unlock+0x8/0xa
> [   48.766263]  [<f8b4ffd8>] snd_hda_multi_out_analog_open+0xd3/0xef
> [snd_hda_intel]

The following patch should fix it.

Cc: "Miles Lane" <miles.lane@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2008-04-24 12:00:33 +02:00
..
ac97 [ALSA] sound: ac97_pcm.c fix shadowed variable warning 2008-04-24 12:00:17 +02:00
ali5451 [ALSA] sound: ali5451.c fix shadowed variable warnings 2008-04-24 12:00:17 +02:00
au88x0 [ALSA] sound: au88x0_pcm.c fix integer as NULL pointer warning 2008-04-24 12:00:17 +02:00
aw2 [ALSA] aw2: remove duplicate MODULE_LICENSE 2008-04-24 12:00:31 +02:00
ca0106 [ALSA] sound: ca0106_mixer.c fix shadowed variable warnings 2008-04-24 12:00:17 +02:00
cs46xx [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
cs5535audio [ALSA] fix cs5535 section mismatch 2008-01-31 17:30:12 +01:00
echoaudio [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
emu10k1 [ALSA] sound: emu10k1x.c fix shadowed variable warnings 2008-04-24 12:00:18 +02:00
hda [ALSA] hda-codec - Fix unbalanced mutex 2008-04-24 12:00:33 +02:00
ice1712 [ALSA] ice1724 - Improved the Juli rate setting 2008-04-24 12:00:29 +02:00
korg1212 [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
mixart [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
nm256 [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
oxygen [ALSA] virtuoso: initialize two-wire control register 2008-04-24 12:00:32 +02:00
pcxhr [ALSA] sound/pci/pcxhr/pcxhr.c: fix warnings 2008-04-24 12:00:29 +02:00
riptide [ALSA] sound: riptide.c fix shadowed variable warnings 2008-04-24 12:00:18 +02:00
rme9652 [ALSA] sound/pci/rme9652/hdspm.c: stop inlining largish static functions 2008-04-24 12:00:33 +02:00
trident [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
vx222 [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
ymfpci [ALSA] ymfpci - Fix race at removal 2008-04-24 12:00:30 +02:00
ad1889.c [ALSA] sound: replace remaining __FUNCTION__ occurences 2008-04-24 12:00:20 +02:00
ad1889.h [ALSA] ad1889: add AD1889 driver 2005-09-12 10:40:17 +02:00
als300.c [ALSA] sound: replace remaining __FUNCTION__ occurences 2008-04-24 12:00:20 +02:00
als4000.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
atiixp_modem.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
atiixp.c [ALSA] sound: fix atiixp section mismatch 2008-01-31 17:30:00 +01:00
azt3328.c [ALSA] sound: replace remaining __FUNCTION__ occurences 2008-04-24 12:00:20 +02:00
azt3328.h [ALSA] azt3328.c: small cleanup patch 2007-05-11 16:55:52 +02:00
bt87x.c [ALSA] bt87X: fix freeing of shared interrupt 2008-02-22 14:20:09 -08:00
cmipci.c [ALSA] sound: cmipci.c fix shadowed variable warning 2008-04-24 12:00:16 +02:00
cs4281.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
cs5530.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
ens1370.c [ALSA] sound: ens1370.c fix shadowed variable warning 2008-04-24 12:00:16 +02:00
ens1371.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
es1938.c [ALSA] es1938 - improve capture hw pointer reads 2008-01-31 17:30:23 +01:00
es1968.c [ALSA] es1968 - fix coding style in the last patch 2008-04-24 12:00:33 +02:00
fm801.c [ALSA] sound: fm801.c fix shadowed variable warning 2008-04-24 12:00:16 +02:00
intel8x0.c [ALSA] sound: replace remaining __FUNCTION__ occurences 2008-04-24 12:00:20 +02:00
intel8x0m.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
Kconfig [ALSA] virtuoso: add Xonar DX support 2008-04-24 12:00:32 +02:00
maestro3.c [ALSA] sound: maestro3.c fix shadowed variable warnings 2008-04-24 12:00:16 +02:00
Makefile [ALSA] Emagic Audiowerk 2 ALSA driver. 2008-04-24 12:00:13 +02:00
rme32.c [ALSA] sound: rme32.c fix integer as NULL pointer warning 2008-04-24 12:00:16 +02:00
rme96.c [ALSA] sound: rme96.c fix integer as NULL pointer warning 2008-04-24 12:00:17 +02:00
sis7019.c ALSA: Storage class should be before const qualifier 2008-04-21 22:25:51 +00:00
sis7019.h [ALSA] sis7019: support the SiS 7019 Audio Accelerator 2008-01-31 17:29:36 +01:00
sonicvibes.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
via82xx_modem.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00
via82xx.c [ALSA] Remove sound/driver.h 2008-01-31 17:29:48 +01:00