2 Aug
2015
2 Aug
'15
8:03 a.m.
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.
The alt_pcm is created only when indep_hp == 1
When indep_hp_enable = 0, HP is reconnected to analog device stream , alt analog device return ebusy
This look like bug in indep_hp_possible() which should return false when HP and Line Out/Speaker share same DAC
There are exception even when HP and Line Out are assigned different DACs (e.g. those 6 channels HDA codecs ad1986a and alc66x does not support multistreaming)