From: Greg Kroah-Hartman Date: Fri, 15 Apr 2022 11:01:14 +0000 (+0200) Subject: 5.15-stable patches X-Git-Tag: v4.19.238~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=51881d89a97609271da2747a92b2595aa7846db9;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: alsa-nm256-don-t-call-card-private_free-at-probe-error-path.patch --- diff --git a/queue-5.15/alsa-nm256-don-t-call-card-private_free-at-probe-error-path.patch b/queue-5.15/alsa-nm256-don-t-call-card-private_free-at-probe-error-path.patch new file mode 100644 index 00000000000..8ca25c3178c --- /dev/null +++ b/queue-5.15/alsa-nm256-don-t-call-card-private_free-at-probe-error-path.patch @@ -0,0 +1,49 @@ +From f20ae5074dfb38f23b0c07c62bdf8e7254a0acf8 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 12 Apr 2022 12:26:36 +0200 +Subject: ALSA: nm256: Don't call card private_free at probe error path + +From: Takashi Iwai + +commit f20ae5074dfb38f23b0c07c62bdf8e7254a0acf8 upstream. + +The card destructor of nm256 driver does merely stopping the running +streams, and it's superfluous for the probe error handling. Moreover, +calling this via the previous devres change would lead to another +problem due to the reverse call order. + +This patch moves the setup of the private_free callback after the card +registration, so that it can be used only after fully set up. + +Fixes: c19935f04784 ("ALSA: nm256: Allocate resources with device-managed APIs") +Cc: +Link: https://lore.kernel.org/r/20220412102636.16000-40-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/nm256/nm256.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c +index c9c178504959..f99a1e96e923 100644 +--- a/sound/pci/nm256/nm256.c ++++ b/sound/pci/nm256/nm256.c +@@ -1573,7 +1573,6 @@ snd_nm256_create(struct snd_card *card, struct pci_dev *pci) + chip->coeffs_current = 0; + + snd_nm256_init_chip(chip); +- card->private_free = snd_nm256_free; + + // pci_set_master(pci); /* needed? */ + return 0; +@@ -1680,6 +1679,7 @@ static int snd_nm256_probe(struct pci_dev *pci, + err = snd_card_register(card); + if (err < 0) + return err; ++ card->private_free = snd_nm256_free; + + pci_set_drvdata(pci, card); + return 0; +-- +2.35.2 + diff --git a/queue-5.15/series b/queue-5.15/series index 90c96a83c3a..0a485684f48 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -52,3 +52,4 @@ alsa-sc6000-fix-the-missing-snd_card_free-call-at-probe-error.patch alsa-sonicvibes-fix-the-missing-snd_card_free-call-at-probe-error.patch alsa-via82xx-fix-the-missing-snd_card_free-call-at-probe-error.patch alsa-usb-audio-cap-upper-limits-of-buffer-period-bytes-for-implicit-fb.patch +alsa-nm256-don-t-call-card-private_free-at-probe-error-path.patch