Hi,

There is bug in via82xx.c. VIA8233A is wrongly detected as VIA8233 
and then not working.

in function snd_via82xx_probe is this 

case TYPE_CARD_VIA8233:
                chip_type = TYPE_VIA8233;
                sprintf(card->shortname, "VIA 823x rev%d", revision);
                for (i = 0; i < ARRAY_SIZE(via823x_cards); i++) {
                        if (revision == via823x_cards[i].revision) {
                                chip_type = via823x_cards[i].type;
                                strcpy(card->shortname, via823x_cards
[i].name);
                                break;
                        }
                }
                if (chip_type == VIA_REV_8233A)
                        strcpy(card->driver, "VIA8233A");
                else
                        strcpy(card->driver, "VIA8233");
                break;
        default:
                snd_printk(KERN_ERR "invalid card type %d\n", 
card_type);
                err = -EINVAL;
                goto __error;
        }
                
        if ((err = snd_via82xx_create(card, pci, chip_type, revision, 
ac97_clock[dev], &chip)) < 0)
                goto __error;

        if ((err = snd_via82xx_mixer_new(chip)) < 0)
                goto __error;

        if (chip_type == TYPE_VIA686) {
                if ((err = snd_via686_pcm_new(chip)) < 0 ||
                    (err = snd_via686_init_misc(chip, dev)) < 0)
                        goto __error;
        } else {
                if (chip_type == VIA_REV_8233A) {
                        if ((err = snd_via8233a_pcm_new(chip)) < 0)
                                goto __error;
                } else {
                        if ((err = snd_via8233_pcm_new(chip)) < 0)
                                goto __error;
                }
                if ((err = snd_via8233_init_misc(chip, dev)) < 0)
                        goto __error;
        } 

But chip_type is compared to VIA_REV_8233A, but must be comparet to 
TYPE_VIA8233A.

When I changed VIA_REV_8233A to TYPE_VIA8233A my onboard soundcard 
(VIA8233A + ALC650) works (2 channel, 4 cannel).

5.1 has problem - swaped channels. (LF, RF, Center - OK, LS - Woofer, 
RS - LS, Woofer - RS.


Peter Zubaj


====================== REKLAMA =================================
Vyrazne zlavy pocitacov a prislusenstva
Toshiba Pocket PC e740 v cench u? od 24.300,- Sk bez DPH
Navstivte nas na adrese http://www.somi.sk/akcie.php
================================================================




-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to