X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=sound%2Foss%2Fsb_audio.c;h=75e54f6f638a1d8395195033bede7a19a7106e9c;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=40914dd0c6817add1e1a041e3dda8f088932d4cb;hpb=db216c3d5e4c040e557a50f8f5d35d5c415e8c1c;p=linux-2.6.git diff --git a/sound/oss/sb_audio.c b/sound/oss/sb_audio.c index 40914dd0c..75e54f6f6 100644 --- a/sound/oss/sb_audio.c +++ b/sound/oss/sb_audio.c @@ -519,9 +519,11 @@ static int sbpro_audio_prepare_for_output(int dev, int bsize, int bcount) sb_dsp_command(devc, 0xa0 | bits); /* Mono output */ else sb_dsp_command(devc, 0xa8 | bits); /* Stereo output */ + spin_unlock_irqrestore(&devc->lock, flags); } else { + spin_unlock_irqrestore(&devc->lock, flags); tmp = sb_getmixer(devc, 0x0e); if (devc->channels == 1) tmp &= ~0x02; @@ -529,7 +531,6 @@ static int sbpro_audio_prepare_for_output(int dev, int bsize, int bcount) tmp |= 0x02; sb_setmixer(devc, 0x0e, tmp); } - spin_unlock_irqrestore(&devc->lock, flags); devc->trigger_bits = 0; return 0; }