ALSA: x86: intel_hdmi_audio: use pm_runtime_resume_and_get()
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@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://lore.kernel.org/r/20220616222910.136854-3-pierre-louis.bossart@linux.intel.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
e87c65aeb4
commit
bb30b453fe
|
@ -1068,7 +1068,9 @@ static int had_pcm_open(struct snd_pcm_substream *substream)
|
||||||
intelhaddata = snd_pcm_substream_chip(substream);
|
intelhaddata = snd_pcm_substream_chip(substream);
|
||||||
runtime = substream->runtime;
|
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 */
|
/* set the runtime hw parameter with local snd_pcm_hardware struct */
|
||||||
runtime->hw = had_pcm_hardware;
|
runtime->hw = had_pcm_hardware;
|
||||||
|
@ -1536,8 +1538,12 @@ static void had_audio_wq(struct work_struct *work)
|
||||||
container_of(work, struct snd_intelhad, hdmi_audio_wq);
|
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_pdata *pdata = ctx->dev->platform_data;
|
||||||
struct intel_hdmi_lpe_audio_port_pdata *ppdata = &pdata->port[ctx->port];
|
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);
|
mutex_lock(&ctx->mutex);
|
||||||
if (ppdata->pipe < 0) {
|
if (ppdata->pipe < 0) {
|
||||||
dev_dbg(ctx->dev, "%s: Event: HAD_NOTIFY_HOT_UNPLUG : port = %d\n",
|
dev_dbg(ctx->dev, "%s: Event: HAD_NOTIFY_HOT_UNPLUG : port = %d\n",
|
||||||
|
|
Loading…
Reference in New Issue