[ALSA] hda-intel - Fix Oops in the error path
authorTakashi Iwai <tiwai@suse.de>
Mon, 30 May 2005 18:33:44 +0000 (20:33 +0200)
committerJaroslav Kysela <perex@suse.cz>
Wed, 22 Jun 2005 10:27:50 +0000 (12:27 +0200)
HDA Intel driver
Fixed Oops in the error path from probe function of snd-hda-intel driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c

index f05a6384b9c068876ca45c6a72068e753f504977..0d546addc091a94bd686739548c55a2f4be8f678 100644 (file)
@@ -286,6 +286,7 @@ struct snd_azx {
 
        /* flags */
        int position_fix;
+       unsigned int initialized: 1;
 };
 
 /*
@@ -1235,7 +1236,7 @@ static int azx_resume(snd_card_t *card)
  */
 static int azx_free(azx_t *chip)
 {
-       if (chip->remap_addr) {
+       if (chip->initialized) {
                int i;
 
                for (i = 0; i < MAX_ICH6_DEV; i++)
@@ -1361,6 +1362,8 @@ static int __devinit azx_create(snd_card_t *card, struct pci_dev *pci,
        /* initialize chip */
        azx_init_chip(chip);
 
+       chip->initialized = 1;
+
        /* codec detection */
        if (! chip->codec_mask) {
                snd_printk(KERN_ERR SFX "no codecs found!\n");