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, 27 Jun 2022 22:20:34 -0400 From: Sasha Levin <sashal@...nel.org> To: linux-kernel@...r.kernel.org, stable@...r.kernel.org Cc: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>, Bard Liao <yung-chuan.liao@...ux.intel.com>, Kai Vehmanen <kai.vehmanen@...ux.intel.com>, Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>, Takashi Iwai <tiwai@...e.de>, Sasha Levin <sashal@...nel.org>, perex@...ex.cz, tiwai@...e.com, jiasheng@...as.ac.cn, gushengxian@...ong.com, nizhen@...ontech.com, alsa-devel@...a-project.org Subject: [PATCH AUTOSEL 5.15 15/41] ALSA: x86: intel_hdmi_audio: use pm_runtime_resume_and_get() From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com> [ Upstream commit bb30b453fedac277d66220431fd7063d9ddc10d8 ] The current code does not check for errors and does not release the reference on errors. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@...ux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@...ux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@...ux.intel.com> Link: https://lore.kernel.org/r/20220616222910.136854-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Takashi Iwai <tiwai@...e.de> Signed-off-by: Sasha Levin <sashal@...nel.org> --- sound/x86/intel_hdmi_audio.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c index b16657de9d25..fea043ec42fe 100644 --- a/sound/x86/intel_hdmi_audio.c +++ b/sound/x86/intel_hdmi_audio.c @@ -1068,7 +1068,9 @@ static int had_pcm_open(struct snd_pcm_substream *substream) intelhaddata = snd_pcm_substream_chip(substream); runtime = substream->runtime; - pm_runtime_get_sync(intelhaddata->dev); + retval = pm_runtime_resume_and_get(intelhaddata->dev); + if (retval < 0) + return retval; /* set the runtime hw parameter with local snd_pcm_hardware struct */ runtime->hw = had_pcm_hardware; @@ -1549,8 +1551,12 @@ static void had_audio_wq(struct work_struct *work) container_of(work, struct snd_intelhad, hdmi_audio_wq); struct intel_hdmi_lpe_audio_pdata *pdata = ctx->dev->platform_data; struct intel_hdmi_lpe_audio_port_pdata *ppdata = &pdata->port[ctx->port]; + int ret; + + ret = pm_runtime_resume_and_get(ctx->dev); + if (ret < 0) + return; - pm_runtime_get_sync(ctx->dev); mutex_lock(&ctx->mutex); if (ppdata->pipe < 0) { dev_dbg(ctx->dev, "%s: Event: HAD_NOTIFY_HOT_UNPLUG : port = %d\n", -- 2.35.1
Powered by blists - more mailing lists