Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44e05177 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: aw2 - Fix Oops at initialization



The irq handler may be called before the proper initialization of hardware.
Call snd_aw2_saa7146_setup() before the irq handler registration.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 481c5346
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -316,6 +316,8 @@ static int __devinit snd_aw2_create(struct snd_card *card,
		return -ENOMEM;
	}

	/* (2) initialization of the chip hardware */
	snd_aw2_saa7146_setup(&chip->saa7146, chip->iobase_virt);

	if (request_irq(pci->irq, snd_aw2_saa7146_interrupt,
			IRQF_SHARED, "Audiowerk2", chip)) {
@@ -329,8 +331,6 @@ static int __devinit snd_aw2_create(struct snd_card *card,
	}
	chip->irq = pci->irq;

	/* (2) initialization of the chip hardware */
	snd_aw2_saa7146_setup(&chip->saa7146, chip->iobase_virt);
	err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops);
	if (err < 0) {
		free_irq(chip->irq, (void *)chip);