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>
This commit is contained in:
parent
e828b23734
commit
d1f15e06b2
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user