Commit 7a5857c3 authored by Sodhi, VunnyX's avatar Sodhi, VunnyX Committed by Mark Brown

ASoC: Intel: Skylake: Fix to turn off hdmi power on probe failure

HDMI codec is required to be powered up before controller initialization
for successful enumeration of codec. If the probe fails it needs to be
powered off to balance the power state of HDMI codec.

This fix balances the reference count in the error path before turning
off the codec.
Reported-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarSodhi, VunnyX <vunnyx.sodhi@intel.com>
Signed-off-by: default avatarSubhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 6d13f62d
...@@ -674,7 +674,7 @@ static int skl_probe(struct pci_dev *pci, ...@@ -674,7 +674,7 @@ static int skl_probe(struct pci_dev *pci,
if (skl->nhlt == NULL) { if (skl->nhlt == NULL) {
err = -ENODEV; err = -ENODEV;
goto out_free; goto out_display_power_off;
} }
skl_nhlt_update_topology_bin(skl); skl_nhlt_update_topology_bin(skl);
...@@ -746,6 +746,9 @@ static int skl_probe(struct pci_dev *pci, ...@@ -746,6 +746,9 @@ static int skl_probe(struct pci_dev *pci,
skl_machine_device_unregister(skl); skl_machine_device_unregister(skl);
out_nhlt_free: out_nhlt_free:
skl_nhlt_free(skl->nhlt); skl_nhlt_free(skl->nhlt);
out_display_power_off:
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI))
snd_hdac_display_power(bus, false);
out_free: out_free:
skl->init_failed = 1; skl->init_failed = 1;
skl_free(ebus); skl_free(ebus);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment