ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work
authorRander Wang <rander.wang@intel.com>
Tue, 25 Aug 2020 23:50:35 +0000 (16:50 -0700)
committerMark Brown <broonie@kernel.org>
Wed, 26 Aug 2020 12:19:12 +0000 (13:19 +0100)
commit6c63c954e1c52f1262f986f36d95f557c6f8fa94
tree26421b52c64f563deeccfb937c2c4270cb7eb1f3
parent53ec753137f2a407c949cef3158e89ece7688637
ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work

When hda_codec_probe() doesn't initialize audio component, we disable
the codec and keep going. However,the resources are not released. The
child_count of SOF device is increased in snd_hdac_ext_bus_device_init
but is not decrease in error case, so SOF can't get suspended.

snd_hdac_ext_bus_device_exit will be invoked in HDA framework if it
gets a error. Now copy this behavior to release resources and decrease
SOF device child_count to release SOF device.

Signed-off-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20200825235040.1586478-3-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/intel/hda-codec.c