ALSA: es1688: Add the missed snd_card_free()
authorChuhong Yuan <hslester96@gmail.com>
Wed, 3 Jun 2020 09:24:59 +0000 (17:24 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Jun 2020 14:40:27 +0000 (16:40 +0200)
commit d9b8fbf15d05350b36081eddafcf7b15aa1add50 upstream.

snd_es968_pnp_detect() misses a snd_card_free() in a failed path.
Add the missed function call to fix it.

Fixes: a20971b201ac ("ALSA: Merge es1688 and es968 drivers")
Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200603092459.1424093-1-hslester96@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/isa/es1688/es1688.c

index 9be8937..b4e9b0d 100644 (file)
@@ -267,8 +267,10 @@ static int snd_es968_pnp_detect(struct pnp_card_link *pcard,
                return error;
        }
        error = snd_es1688_probe(card, dev);
-       if (error < 0)
+       if (error < 0) {
+               snd_card_free(card);
                return error;
+       }
        pnp_set_card_drvdata(pcard, card);
        snd_es968_pnp_is_probed = 1;
        return 0;