lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 26 Oct 2020 19:47:17 -0400 From: Sasha Levin <sashal@...nel.org> To: linux-kernel@...r.kernel.org, stable@...r.kernel.org Cc: Rander Wang <rander.wang@...el.com>, Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>, Bard Liao <yung-chuan.liao@...ux.intel.com>, Guennadi Liakhovetski <guennadi.liakhovetski@...ux.intel.com>, Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>, Mark Brown <broonie@...nel.org>, Sasha Levin <sashal@...nel.org>, sound-open-firmware@...a-project.org, alsa-devel@...a-project.org Subject: [PATCH AUTOSEL 5.9 039/147] ASoC: SOF: fix a runtime pm issue in SOF when HDMI codec doesn't work From: Rander Wang <rander.wang@...el.com> [ Upstream commit 6c63c954e1c52f1262f986f36d95f557c6f8fa94 ] 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@...el.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@...ux.intel.com> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@...ux.intel.com> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@...ux.intel.com> Link: https://lore.kernel.org/r/20200825235040.1586478-3-ranjani.sridharan@linux.intel.com Signed-off-by: Mark Brown <broonie@...nel.org> Signed-off-by: Sasha Levin <sashal@...nel.org> --- sound/soc/sof/intel/hda-codec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/sof/intel/hda-codec.c b/sound/soc/sof/intel/hda-codec.c index 2c5c451fa19d7..c475955c6eeba 100644 --- a/sound/soc/sof/intel/hda-codec.c +++ b/sound/soc/sof/intel/hda-codec.c @@ -151,7 +151,7 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address, if (!hdev->bus->audio_component) { dev_dbg(sdev->dev, "iDisp hw present but no driver\n"); - return -ENOENT; + goto error; } hda_priv->need_display_power = true; } @@ -174,7 +174,7 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address, * other return codes without modification */ if (ret == 0) - ret = -ENOENT; + goto error; } return ret; -- 2.25.1
Powered by blists - more mailing lists