summaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/skylake/skl.c
diff options
context:
space:
mode:
authorSodhi, VunnyX2016-10-28 13:29:41 +0200
committerMark Brown2016-10-28 18:29:09 +0200
commit7a5857c3c282c12a8bd0cfd2dd4a17a9252c2b4d (patch)
tree9fdbc6cbca57a287f29fe93a59a321f06964492a /sound/soc/intel/skylake/skl.c
parentASoC: Intel: Skylake: Always acquire runtime pm ref on unload (diff)
downloadkernel-qcow2-linux-7a5857c3c282c12a8bd0cfd2dd4a17a9252c2b4d.tar.gz
kernel-qcow2-linux-7a5857c3c282c12a8bd0cfd2dd4a17a9252c2b4d.tar.xz
kernel-qcow2-linux-7a5857c3c282c12a8bd0cfd2dd4a17a9252c2b4d.zip
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: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Sodhi, VunnyX <vunnyx.sodhi@intel.com> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/skylake/skl.c')
-rw-r--r--sound/soc/intel/skylake/skl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c
index 7b7a380b1245..3fc30cbe83c1 100644
--- a/sound/soc/intel/skylake/skl.c
+++ b/sound/soc/intel/skylake/skl.c
@@ -674,7 +674,7 @@ static int skl_probe(struct pci_dev *pci,
if (skl->nhlt == NULL) {
err = -ENODEV;
- goto out_free;
+ goto out_display_power_off;
}
skl_nhlt_update_topology_bin(skl);
@@ -746,6 +746,9 @@ out_mach_free:
skl_machine_device_unregister(skl);
out_nhlt_free:
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:
skl->init_failed = 1;
skl_free(ebus);