ASoC: max98390: Fix error codes in max98390_dsm_init()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 9 Dec 2020 06:54:51 +0000 (09:54 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 9 Dec 2020 12:12:58 +0000 (12:12 +0000)
These error paths return success but they should return -EINVAL.

Fixes: 97ed3e509ee6 ("ASoC: max98390: Fix potential crash during param fw loading")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/X9B0uz4svyNTqeMb@mwanda
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/max98390.c

index ff5cc9b..bb736c4 100644 (file)
@@ -784,6 +784,7 @@ static int max98390_dsm_init(struct snd_soc_component *component)
        if (fw->size < MAX98390_DSM_PARAM_MIN_SIZE) {
                dev_err(component->dev,
                        "param fw is invalid.\n");
+               ret = -EINVAL;
                goto err_alloc;
        }
        dsm_param = (char *)fw->data;
@@ -794,6 +795,7 @@ static int max98390_dsm_init(struct snd_soc_component *component)
                fw->size < param_size + MAX98390_DSM_PAYLOAD_OFFSET) {
                dev_err(component->dev,
                        "param fw is invalid.\n");
+               ret = -EINVAL;
                goto err_alloc;
        }
        regmap_write(max98390->regmap, MAX98390_R203A_AMP_EN, 0x80);