|
@@ -1467,7 +1467,9 @@ static void patch_ad1881_chained(struct snd_ac97 * ac97, int unchained_idx, int
|
|
|
snd_ac97_write_cache(ac97, AC97_AD_CODEC_CFG, 0x0002); // ID1C
|
|
|
ac97->spec.ad18xx.codec_cfg[unchained_idx] = 0x0002;
|
|
|
if (cidx1 >= 0) {
|
|
|
- if (patch_ad1881_chained1(ac97, cidx1, 0x0006)) // SDIE | ID1C
|
|
|
+ if (cidx2 < 0)
|
|
|
+ patch_ad1881_chained1(ac97, cidx1, 0);
|
|
|
+ else if (patch_ad1881_chained1(ac97, cidx1, 0x0006)) // SDIE | ID1C
|
|
|
patch_ad1881_chained1(ac97, cidx2, 0);
|
|
|
else if (patch_ad1881_chained1(ac97, cidx2, 0x0006)) // SDIE | ID1C
|
|
|
patch_ad1881_chained1(ac97, cidx1, 0);
|