From: Peter Ujfalusi Date: Wed, 27 Apr 2022 11:51:59 +0000 (+0300) Subject: ASoC: SOF: Intel: Do not (wrongly) assume positive return value in IMR path X-Git-Tag: v5.19-rc1~152^2~2^2~78 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fd2cea169c4bc01f88bca84e4f01df48901c4339;p=thirdparty%2Flinux.git ASoC: SOF: Intel: Do not (wrongly) assume positive return value in IMR path The cl_dsp_init() returns 0 on success or negative errno on error. Replace the 'if (ret >= 0)' checks with correct 'if (!ret)` to check for success. Fixes: 2a68ff846164 ("ASoC: SOF: Intel: hda: Revisit IMR boot sequence") Reported-by: Dan Carpenter Signed-off-by: Peter Ujfalusi Link: https://lore.kernel.org/r/20220427115159.26177-1-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/sof/intel/hda-loader.c b/sound/soc/sof/intel/hda-loader.c index 7d4436f079c65..64290125d7cd8 100644 --- a/sound/soc/sof/intel/hda-loader.c +++ b/sound/soc/sof/intel/hda-loader.c @@ -372,7 +372,7 @@ static int hda_dsp_boot_imr(struct snd_sof_dev *sdev) int ret; ret = cl_dsp_init(sdev, 0, true); - if (ret >= 0) + if (!ret) hda_sdw_process_wakeen(sdev); return ret; @@ -393,8 +393,8 @@ int hda_dsp_cl_boot_firmware(struct snd_sof_dev *sdev) dev_dbg(sdev->dev, "IMR restore supported, booting from IMR directly\n"); hda->boot_iteration = 0; ret = hda_dsp_boot_imr(sdev); - if (ret >= 0) - return ret; + if (!ret) + return 0; dev_warn(sdev->dev, "IMR restore failed, trying to cold boot\n"); }