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, 7 Sep 2020 12:32:13 -0400 From: Sasha Levin <sashal@...nel.org> To: linux-kernel@...r.kernel.org, stable@...r.kernel.org Cc: Rander Wang <rander.wang@...el.com>, Ranjani Sridharan <ranjani.sridharan@...ux.intel.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>, Kai Vehmanen <kai.vehmanen@...ux.intel.com>, Takashi Iwai <tiwai@...e.de>, Sasha Levin <sashal@...nel.org>, alsa-devel@...a-project.org Subject: [PATCH AUTOSEL 5.8 47/53] ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled From: Rander Wang <rander.wang@...el.com> [ Upstream commit 13774d81f38538c5fa2924bdcdfa509155480fa6 ] In snd_hdac_device_init pm_runtime_set_active is called to increase child_count in parent device. But when it is failed to build connection with GPU for one case that integrated graphic gpu is disabled, snd_hdac_ext_bus_device_exit will be invoked to clean up a HD-audio extended codec base device. At this time the child_count of parent is not decreased, which makes parent device can't get suspended. This patch calls pm_runtime_set_suspended to decrease child_count in parent device in snd_hdac_device_exit to match with snd_hdac_device_init. pm_runtime_set_suspended can make sure that it will not decrease child_count if the device is already suspended. Signed-off-by: Rander Wang <rander.wang@...el.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@...ux.intel.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: Kai Vehmanen <kai.vehmanen@...ux.intel.com> Link: https://lore.kernel.org/r/20200902154218.1440441-1-kai.vehmanen@linux.intel.com Signed-off-by: Takashi Iwai <tiwai@...e.de> Signed-off-by: Sasha Levin <sashal@...nel.org> --- sound/hda/hdac_device.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sound/hda/hdac_device.c b/sound/hda/hdac_device.c index 333220f0f8afc..3e9e9ac804f62 100644 --- a/sound/hda/hdac_device.c +++ b/sound/hda/hdac_device.c @@ -127,6 +127,8 @@ EXPORT_SYMBOL_GPL(snd_hdac_device_init); void snd_hdac_device_exit(struct hdac_device *codec) { pm_runtime_put_noidle(&codec->dev); + /* keep balance of runtime PM child_count in parent device */ + pm_runtime_set_suspended(&codec->dev); snd_hdac_bus_remove_device(codec->bus, codec); kfree(codec->vendor_name); kfree(codec->chip_name); -- 2.25.1
Powered by blists - more mailing lists