summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-07-08 09:22:10 +0200
committerTakashi Iwai <tiwai@suse.de>2015-07-08 09:27:56 +0200
commitd1f15e06b2af57228d11e33e06a172ff58f5bc1c (patch)
tree33fed3c2c6db96af504cc28ed89d60f1d243ab47
parente828b23734bfebe30e95964302bbb801d02fddf6 (diff)
downloadop-kernel-dev-d1f15e06b2af57228d11e33e06a172ff58f5bc1c.zip
op-kernel-dev-d1f15e06b2af57228d11e33e06a172ff58f5bc1c.tar.gz
ALSA: hda - Fix a wrong busy check in alt PCM open
Currently, the alt PCM open callback returns -EBUSY when an independent HP is turned off, supposing that it conflicts with the main PCM. However, obviously, this check is wrong when the independent HP itself isn't enabled but the alt PCM was explicitly created via alc_dac_nid by a codec driver. Reported-and-tested-by: Kailang Yang <kailang@realtek.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/hda_generic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index ac0db16..b077bb6 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -5175,7 +5175,7 @@ static int alt_playback_pcm_open(struct hda_pcm_stream *hinfo,
int err = 0;
mutex_lock(&spec->pcm_mutex);
- if (!spec->indep_hp_enabled)
+ if (spec->indep_hp && !spec->indep_hp_enabled)
err = -EBUSY;
else
spec->active_streams |= 1 << STREAM_INDEP_HP;
OpenPOWER on IntegriCloud