summaryrefslogtreecommitdiff
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2005-05-30 22:33:44 +0400
committerJaroslav Kysela <perex@suse.cz>2005-06-22 14:27:50 +0400
commitce43fbaececc82196d321671159483b3287de128 (patch)
treef3f0895f33d80d59a4e630d266dc2c8695dcf924 /sound/pci
parentb6a969155b04416185f368bd4e2f1d49b17c1ee1 (diff)
downloadlinux-ce43fbaececc82196d321671159483b3287de128.tar.xz
[ALSA] hda-intel - Fix Oops in the error path
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>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/hda_intel.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index f05a6384b9c0..0d546addc091 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -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");