summaryrefslogtreecommitdiffstats
path: root/sound/x86
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-02-12 11:35:44 +0100
committerTakashi Iwai <tiwai@suse.de>2017-02-13 14:51:13 +0100
commitdf42cb499eb1869bfb535f6c6b5ea1406496baf4 (patch)
tree7ceabee381b36399c57dbb60d402998e3d30acc8 /sound/x86
parente2acecf2c88370f9d7252e7a05cd7b6d43aed720 (diff)
downloadlinux-stable-df42cb499eb1869bfb535f6c6b5ea1406496baf4.tar.gz
linux-stable-df42cb499eb1869bfb535f6c6b5ea1406496baf4.tar.bz2
linux-stable-df42cb499eb1869bfb535f6c6b5ea1406496baf4.zip
ALSA: x86: Drop unused stream.running field
The pcm_stream_info.running field is only set in the PCM trigger callback but never referred, thus it can be safely removed. Also, properly cover the spinlock in both the trigger START and STOP to protect had_enable_audio() calls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/x86')
-rw-r--r--sound/x86/intel_hdmi_audio.c11
-rw-r--r--sound/x86/intel_hdmi_audio.h1
2 files changed, 2 insertions, 10 deletions
diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c
index 015d57cd9725..9889cdf3ccf4 100644
--- a/sound/x86/intel_hdmi_audio.c
+++ b/sound/x86/intel_hdmi_audio.c
@@ -1168,6 +1168,7 @@ static int had_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
intelhaddata = snd_pcm_substream_chip(substream);
+ spin_lock(&intelhaddata->had_spinlock);
switch (cmd) {
case SNDRV_PCM_TRIGGER_START:
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
@@ -1180,8 +1181,6 @@ static int had_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
break;
}
- intelhaddata->stream_info.running = true;
-
/* Enable Audio */
had_ack_irqs(intelhaddata); /* FIXME: do we need this? */
had_enable_audio(intelhaddata, true);
@@ -1189,13 +1188,6 @@ static int had_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
case SNDRV_PCM_TRIGGER_STOP:
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
- case SNDRV_PCM_TRIGGER_SUSPEND:
- spin_lock(&intelhaddata->had_spinlock);
-
- /* Stop reporting BUFFER_DONE/UNDERRUN to above layers */
-
- intelhaddata->stream_info.running = false;
- spin_unlock(&intelhaddata->had_spinlock);
/* Disable Audio */
had_enable_audio(intelhaddata, false);
intelhaddata->need_reset = true;
@@ -1204,6 +1196,7 @@ static int had_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
default:
retval = -EINVAL;
}
+ spin_unlock(&intelhaddata->had_spinlock);
return retval;
}
diff --git a/sound/x86/intel_hdmi_audio.h b/sound/x86/intel_hdmi_audio.h
index 8b9e184fef44..d6ba90fd011d 100644
--- a/sound/x86/intel_hdmi_audio.h
+++ b/sound/x86/intel_hdmi_audio.h
@@ -83,7 +83,6 @@ struct channel_map_table {
struct pcm_stream_info {
struct snd_pcm_substream *substream;
int substream_refcount;
- bool running;
};
/*