Skip to contentSkip to conversation

Patch "ALSA: fm801: Initialize chip after IRQ handler is registered" has been added to the 4.9-stable tree

PATCH [email protected] 1 participant 1 message Jul 31, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ALSA: fm801: Initialize chip after IRQ handler is registered

to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
alsa-fm801-initialize-chip-after-irq-handler-is-registered.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 610e1ae9b533be82b3aa118b907e0a703256913d Mon Sep 17 00:00:00 2001

From: Andy Shevchenko <[email protected]>
Date: Sun, 16 Jul 2017 21:40:03 +0300
Subject: ALSA: fm801: Initialize chip after IRQ handler is registered
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Andy Shevchenko <[email protected]>

commit 610e1ae9b533be82b3aa118b907e0a703256913d upstream.

The commit b56fa687e02b ("ALSA: fm801: detect FM-only card earlier") rearranged initialization calls, i.e. it makes snd_fm801_chip_init() to be called before we register interrupt handler and set PCI bus mastering.

Somehow it prevents FM801-AU to work properly. Thus, partially revert initialization order changed by commit mentioned above.

Fixes b56fa687e02b ("ALSA: fm801: detect FM-only card earlier")
---
 sound/pci/fm801.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
sound/pci/fm801.c +2 -2
@@ -1235,8 +1235,6 @@ static int snd_fm801_create(struct snd_c
 		}
 	}
 
-	snd_fm801_chip_init(chip);
-
 	if ((chip->tea575x_tuner & TUNER_ONLY) == 0) {
 		if (devm_request_irq(&pci->dev, pci->irq, snd_fm801_interrupt,
 				IRQF_SHARED, KBUILD_MODNAME, chip)) {
@@ -1248,6 +1246,8 @@ static int snd_fm801_create(struct snd_c
 		pci_set_master(pci);
 	}
 
+	snd_fm801_chip_init(chip);
+
 	if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) {
 		snd_fm801_free(chip);
 		return err;

Patches currently in stable-queue which might be from [email protected] are

queue-4.9/alsa-fm801-initialize-chip-after-irq-handler-is-registered.patch