Browse Source

ALSA: hda - Fix call of alc888_coef_init()

Using init_hook to call alc888_coef_init() is problematic for configurations
that already set another init_hook.  Better to put it in alc_init() as is
(although it looks a bit hackish).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 16 years ago
parent
commit
1082c7487c
1 changed files with 3 additions and 3 deletions
  1. 3 3
      sound/pci/hda/patch_realtek.c

+ 3 - 3
sound/pci/hda/patch_realtek.c

@@ -952,7 +952,7 @@ do_sku:
 					    tmp | 0x2010);
 					    tmp | 0x2010);
 			break;
 			break;
 		case 0x10ec0888:
 		case 0x10ec0888:
-			alc888_coef_init(codec);
+			/*alc888_coef_init(codec);*/ /* called in alc_init() */
 			break;
 			break;
 		case 0x10ec0267:
 		case 0x10ec0267:
 		case 0x10ec0268:
 		case 0x10ec0268:
@@ -2439,6 +2439,8 @@ static int alc_init(struct hda_codec *codec)
 	unsigned int i;
 	unsigned int i;
 
 
 	alc_fix_pll(codec);
 	alc_fix_pll(codec);
+	if (codec->vendor_id == 0x10ec0888)
+		alc888_coef_init(codec);
 
 
 	for (i = 0; i < spec->num_init_verbs; i++)
 	for (i = 0; i < spec->num_init_verbs; i++)
 		snd_hda_sequence_write(codec, spec->init_verbs[i]);
 		snd_hda_sequence_write(codec, spec->init_verbs[i]);
@@ -8426,8 +8428,6 @@ static int patch_alc883(struct hda_codec *codec)
 	codec->patch_ops = alc_patch_ops;
 	codec->patch_ops = alc_patch_ops;
 	if (board_config == ALC883_AUTO)
 	if (board_config == ALC883_AUTO)
 		spec->init_hook = alc883_auto_init;
 		spec->init_hook = alc883_auto_init;
-	else if (codec->vendor_id == 0x10ec0888)
-		spec->init_hook = alc888_coef_init;
 
 
 #ifdef CONFIG_SND_HDA_POWER_SAVE
 #ifdef CONFIG_SND_HDA_POWER_SAVE
 	if (!spec->loopback.amplist)
 	if (!spec->loopback.amplist)