diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-02-06 16:52:15 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-02-18 09:15:16 -0500 |
commit | 92ea42f442c4895e38f525a097d7d8ce2a55b9b9 (patch) | |
tree | ff9fb45b36ace09f373e9e7f3d27ddf7e1006594 /drivers/media/video/em28xx/em28xx-audio.c | |
parent | 00b8730f5db19f9ea0985d7f14f869df79a0bf76 (diff) |
V4L/DVB (7164): em28xx-alsa: Add a missing mutex
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-audio.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-audio.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-audio.c b/drivers/media/video/em28xx/em28xx-audio.c index 2c7343d3139..8c67f678266 100644 --- a/drivers/media/video/em28xx/em28xx-audio.c +++ b/drivers/media/video/em28xx/em28xx-audio.c | |||
@@ -269,8 +269,11 @@ static int snd_em28xx_capture_open(struct snd_pcm_substream *substream) | |||
269 | dprintk("opening device and trying to acquire exclusive lock\n"); | 269 | dprintk("opening device and trying to acquire exclusive lock\n"); |
270 | 270 | ||
271 | /* Sets volume, mute, etc */ | 271 | /* Sets volume, mute, etc */ |
272 | |||
272 | dev->mute = 0; | 273 | dev->mute = 0; |
274 | mutex_lock(&dev->lock); | ||
273 | ret = em28xx_audio_analog_set(dev); | 275 | ret = em28xx_audio_analog_set(dev); |
276 | mutex_unlock(&dev->lock); | ||
274 | if (ret < 0) | 277 | if (ret < 0) |
275 | goto err; | 278 | goto err; |
276 | 279 | ||
@@ -302,7 +305,9 @@ static int snd_em28xx_pcm_close(struct snd_pcm_substream *substream) | |||
302 | dprintk("closing device\n"); | 305 | dprintk("closing device\n"); |
303 | 306 | ||
304 | dev->mute = 1; | 307 | dev->mute = 1; |
308 | mutex_lock(&dev->lock); | ||
305 | em28xx_audio_analog_set(dev); | 309 | em28xx_audio_analog_set(dev); |
310 | mutex_unlock(&dev->lock); | ||
306 | 311 | ||
307 | if (dev->adev->users == 0 && dev->adev->shutdown == 1) { | 312 | if (dev->adev->users == 0 && dev->adev->shutdown == 1) { |
308 | dprintk("audio users: %d\n", dev->adev->users); | 313 | dprintk("audio users: %d\n", dev->adev->users); |