linux-stable/sound/pci/oxygen
Takashi Iwai 6ebc16e206 ALSA: oxygen: Fix the missing snd_card_free() call at probe error
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: 596ae97ab0 ("ALSA: oxygen: Allocate resources with device-managed APIs")
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220412102636.16000-35-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2022-04-12 17:58:40 +02:00
..
ak4396.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cm9780.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cs2000.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cs4245.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cs4362a.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cs4398.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
oxygen.c ALSA: oxygen: Allocate resources with device-managed APIs 2021-07-19 16:17:04 +02:00
oxygen.h ALSA: oxygen: Allocate resources with device-managed APIs 2021-07-19 16:17:04 +02:00
oxygen_io.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 404 2019-06-05 17:37:13 +02:00
oxygen_lib.c ALSA: oxygen: Fix the missing snd_card_free() call at probe error 2022-04-12 17:58:40 +02:00
oxygen_mixer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 404 2019-06-05 17:37:13 +02:00
oxygen_pcm.c ALSA: Replace with fallthrough pseudo keyword in the remaining places 2020-07-09 19:10:43 +02:00
oxygen_regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pcm1796.h ALSA: virtuoso: add de-emphasis control 2019-01-07 11:54:54 +01:00
se6x.c ALSA: oxygen: Allocate resources with device-managed APIs 2021-07-19 16:17:04 +02:00
virtuoso.c ALSA: oxygen: Allocate resources with device-managed APIs 2021-07-19 16:17:04 +02:00
wm8766.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
wm8776.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
wm8785.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xonar.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xonar_cs43xx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 264 2019-06-05 17:30:28 +02:00
xonar_dg.c ALSA: pci: delete repeated words in comments 2020-08-06 09:30:02 +02:00
xonar_dg.h ASoC: Updates for v4.15 2017-11-13 15:45:57 +01:00
xonar_dg_mixer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 264 2019-06-05 17:30:28 +02:00
xonar_hdmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 264 2019-06-05 17:30:28 +02:00
xonar_lib.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 264 2019-06-05 17:30:28 +02:00
xonar_pcm179x.c ALSA: oxygen: use true,false for bool variables 2020-04-22 11:41:35 +02:00
xonar_wm87x6.c ALSA: pci/oxygen/xonar_wm87x6: remove always true condition 2020-07-07 12:11:18 +02:00