From: Douglas Schilling Landgraf Date: Sun, 8 Feb 2009 04:11:13 +0000 (-0300) Subject: V4L/DVB (10521): em28xx-audio: Add lock for users X-Git-Tag: firefly_0821_release~15196^2~525 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=bf510ac380c0e5aac813455fdf7364613cf75b72;p=firefly-linux-kernel-4.4.55.git V4L/DVB (10521): em28xx-audio: Add lock for users Added lock for users count Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/em28xx/em28xx-audio.c b/drivers/media/video/em28xx/em28xx-audio.c index 8e9957dbdbec..38436af2164b 100644 --- a/drivers/media/video/em28xx/em28xx-audio.c +++ b/drivers/media/video/em28xx/em28xx-audio.c @@ -313,7 +313,9 @@ static int snd_em28xx_capture_open(struct snd_pcm_substream *substream) dprintk("changing alternate number to 7\n"); } + mutex_lock(&dev->lock); dev->adev.users++; + mutex_unlock(&dev->lock); snd_pcm_hw_constraint_integer(runtime, SNDRV_PCM_HW_PARAM_PERIODS); dev->adev.capture_pcm_substream = substream; @@ -328,12 +330,12 @@ err: static int snd_em28xx_pcm_close(struct snd_pcm_substream *substream) { struct em28xx *dev = snd_pcm_substream_chip(substream); - dev->adev.users--; dprintk("closing device\n"); dev->mute = 1; mutex_lock(&dev->lock); + dev->adev.users--; em28xx_audio_analog_set(dev); mutex_unlock(&dev->lock);