ALSA: ens137x: Fix the missing snd_card_free() call at probe error
authorTakashi Iwai <tiwai@suse.de>
Tue, 12 Apr 2022 10:26:10 +0000 (12:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:34:06 +0000 (09:34 +0200)
commit20b35ba7aa2f961792f1f1774a6ba8e765c117d8
treea08bb17c70626d06f8e1b16c371c4d02a0182e1e
parent0d52c09f0c17516d09b1aee6cd86ecc0a8b567da
ALSA: ens137x: Fix the missing snd_card_free() call at probe error

commit c2dc46932d117a1505f589ad1db3095aa6789058 upstream.

The previous cleanup with devres may lead to the incorrect release
orders at the probe error handling due to the devres's nature.  Until
we register the card, snd_card_free() has to be called at first for
releasing the stuff properly when the driver tries to manage and
release the stuff via card->private_free().

This patch fixes it by calling snd_card_free() on the error from the
probe callback using a new helper function.

Fixes: 10ed6eaf9d72 ("ALSA: ens137x: Allocate resources with device-managed APIs")
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220412102636.16000-14-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/ens1370.c