ALSA: hda: do not override bus codec_mask in link_get()
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Thu, 6 Feb 2020 20:02:21 +0000 (22:02 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 10 Feb 2020 14:05:45 +0000 (14:05 +0000)
commit43bcb1c0507858cdc95e425017dcc33f8105df39
tree0fc5993a2a04ebb4336e90eb98ce72334737d516
parent9437bfda00f3b26eb5f475737ddaaf4dc07fee4f
ALSA: hda: do not override bus codec_mask in link_get()

snd_hdac_ext_bus_link_get() does not work correctly in case
there are multiple codecs on the bus. It unconditionally
resets the bus->codec_mask value. As per documentation in
hdaudio.h and existing use in client code, this field should
be used to store bit flag of detected codecs on the bus.

By overwriting value of the codec_mask, information on all
detected codecs is lost. No current user of hdac is impacted,
but use of bus->codec_mask is planned in future patches
for SOF.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Link: https://lore.kernel.org/r/20200206200223.7715-1-kai.vehmanen@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/hda/ext/hdac_ext_controller.c