ASoC: SOF: amd: acp-loader: abort firmware download on write error
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 2 Apr 2024 14:59:57 +0000 (09:59 -0500)
committerMark Brown <broonie@kernel.org>
Tue, 2 Apr 2024 16:14:27 +0000 (17:14 +0100)
cppcheck reports this issue:

sound/soc/sof/amd/acp-loader.c:299:6: style: Variable 'ret' is
reassigned a value before the old one has been
used. [redundantAssignment]
 ret = request_firmware(&adata->fw_dbin, fw_filename, sdev->dev);
     ^
sound/soc/sof/amd/acp-loader.c:289:6: note: ret is assigned
 ret = snd_sof_dsp_block_write(sdev, SOF_FW_BLK_TYPE_IRAM, 0,
     ^
sound/soc/sof/amd/acp-loader.c:299:6: note: ret is overwritten
 ret = request_firmware(&adata->fw_dbin, fw_filename, sdev->dev);
     ^

This behavior is probably unintentional, there's no reason to return
an error for the DRAM but not the IRAM.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://msgid.link/r/20240402145959.172619-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/amd/acp-loader.c

index aad904839b817cd74d3731d8b06e8739c27bb43e..2d5e58846499d2e261b972931be5f7a58c7fa42b 100644 (file)
@@ -289,6 +289,8 @@ int acp_sof_load_signed_firmware(struct snd_sof_dev *sdev)
        ret = snd_sof_dsp_block_write(sdev, SOF_FW_BLK_TYPE_IRAM, 0,
                                      (void *)sdev->basefw.fw->data,
                                      sdev->basefw.fw->size);
+       if (ret < 0)
+               return ret;
 
        fw_filename = kasprintf(GFP_KERNEL, "%s/%s",
                                plat_data->fw_filename_prefix,