diff --git a/[refs] b/[refs] index 16af1d0b0534..511df54a576c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 27346166a9b3b9eee586bce212502cddf9685a07 +refs/heads/master: 153abaa4ff0500070a282dd0868367d69388d527 diff --git a/trunk/sound/pci/ymfpci/ymfpci_main.c b/trunk/sound/pci/ymfpci/ymfpci_main.c index a1aa74b79b3d..30ee53adb494 100644 --- a/trunk/sound/pci/ymfpci/ymfpci_main.c +++ b/trunk/sound/pci/ymfpci/ymfpci_main.c @@ -536,13 +536,17 @@ static void snd_ymfpci_pcm_init_voice(struct snd_ymfpci_pcm *ypcm, unsigned int } } if (ypcm->output_rear) { + /* The SPDIF out channels seem to be swapped, so we have + * to swap them here, too. The rear analog out channels + * will be wrong, but otherwise AC3 would not work. + */ if (use_left) { - bank->eff2_gain = - bank->eff2_gain_end = vol_left; + bank->eff3_gain = + bank->eff3_gain_end = vol_left; } if (use_right) { - bank->eff3_gain = - bank->eff3_gain_end = vol_right; + bank->eff2_gain = + bank->eff2_gain_end = vol_right; } } }