aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 {
286 286
287 /* flags */ 287 /* flags */
288 int position_fix; 288 int position_fix;
289 unsigned int initialized: 1;
289}; 290};
290 291
291/* 292/*
@@ -1235,7 +1236,7 @@ static int azx_resume(snd_card_t *card)
1235 */ 1236 */
1236static int azx_free(azx_t *chip) 1237static int azx_free(azx_t *chip)
1237{ 1238{
1238 if (chip->remap_addr) { 1239 if (chip->initialized) {
1239 int i; 1240 int i;
1240 1241
1241 for (i = 0; i < MAX_ICH6_DEV; i++) 1242 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,
1361 /* initialize chip */ 1362 /* initialize chip */
1362 azx_init_chip(chip); 1363 azx_init_chip(chip);
1363 1364
1365 chip->initialized = 1;
1366
1364 /* codec detection */ 1367 /* codec detection */
1365 if (! chip->codec_mask) { 1368 if (! chip->codec_mask) {
1366 snd_printk(KERN_ERR SFX "no codecs found!\n"); 1369 snd_printk(KERN_ERR SFX "no codecs found!\n");