ASoC: amd: Fix error pointer dereference
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 12 Jul 2022 14:42:12 +0000 (17:42 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 13 Jul 2022 12:48:53 +0000 (13:48 +0100)
The "gpio_pa" pointer is an error pointer, there is no need to try
put it.  Calling gpiod_put() on it will lead to an error pointer
dereference.

Fixes: 02527c3f2300 ("ASoC: amd: add Machine driver for Jadeite platform")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/Ys2IRPHWGIwuVs21@kili
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/amd/acp-es8336.c

index d501618..2fe8df8 100644 (file)
@@ -212,7 +212,6 @@ static int st_es8336_late_probe(struct snd_soc_card *card)
        if (IS_ERR(gpio_pa)) {
                ret = dev_err_probe(card->dev, PTR_ERR(gpio_pa),
                                    "could not get pa-enable GPIO\n");
        if (IS_ERR(gpio_pa)) {
                ret = dev_err_probe(card->dev, PTR_ERR(gpio_pa),
                                    "could not get pa-enable GPIO\n");
-               gpiod_put(gpio_pa);
                put_device(codec_dev);
                return ret;
        }
                put_device(codec_dev);
                return ret;
        }