OSDN Git Service

ASoC: SOF: ipc4-loader: Return ssize_t from sof_ipc4_fw_parse_ext_man()
authorPeter Ujfalusi <peter.ujfalusi@linux.intel.com>
Tue, 25 Oct 2022 13:27:06 +0000 (16:27 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 26 Oct 2022 13:18:33 +0000 (14:18 +0100)
sof_ipc4_fw_parse_ext_man() can return negative error numbers which is not
correct for the used size_t type.

Change the return value to ssize_t and use the same type where the function
is called.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: 73c091a2fe96 ("ASoC: SOF: ipc4-loader: Support for loading external libraries")
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20221025132706.30356-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/ipc4-loader.c

index af0018b..7021967 100644 (file)
@@ -17,8 +17,8 @@
 /* The module ID includes the id of the library it is part of at offset 12 */
 #define SOF_IPC4_MOD_LIB_ID_SHIFT      12
 
-static size_t sof_ipc4_fw_parse_ext_man(struct snd_sof_dev *sdev,
-                                       struct sof_ipc4_fw_library *fw_lib)
+static ssize_t sof_ipc4_fw_parse_ext_man(struct snd_sof_dev *sdev,
+                                        struct sof_ipc4_fw_library *fw_lib)
 {
        struct sof_ipc4_fw_data *ipc4_data = sdev->private;
        const struct firmware *fw = fw_lib->sof_fw.fw;
@@ -141,7 +141,7 @@ static size_t sof_ipc4_fw_parse_basefw_ext_man(struct snd_sof_dev *sdev)
 {
        struct sof_ipc4_fw_data *ipc4_data = sdev->private;
        struct sof_ipc4_fw_library *fw_lib;
-       size_t payload_offset;
+       ssize_t payload_offset;
        int ret;
 
        fw_lib = devm_kzalloc(sdev->dev, sizeof(*fw_lib), GFP_KERNEL);
@@ -170,7 +170,7 @@ static int sof_ipc4_load_library_by_uuid(struct snd_sof_dev *sdev,
        struct sof_ipc4_fw_data *ipc4_data = sdev->private;
        struct sof_ipc4_fw_library *fw_lib;
        const char *fw_filename;
-       size_t payload_offset;
+       ssize_t payload_offset;
        int ret, i, err;
 
        if (!sdev->pdata->fw_lib_prefix) {