diff options
Diffstat (limited to 'sound/pci/via82xx.c')
-rw-r--r-- | sound/pci/via82xx.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c index 111dada439f1..39daf62d2bad 100644 --- a/sound/pci/via82xx.c +++ b/sound/pci/via82xx.c | |||
@@ -2332,7 +2332,7 @@ struct dxs_whitelist { | |||
2332 | short action; /* new dxs_support value */ | 2332 | short action; /* new dxs_support value */ |
2333 | }; | 2333 | }; |
2334 | 2334 | ||
2335 | static int __devinit check_dxs_list(struct pci_dev *pci) | 2335 | static int __devinit check_dxs_list(struct pci_dev *pci, int revision) |
2336 | { | 2336 | { |
2337 | static struct dxs_whitelist whitelist[] = { | 2337 | static struct dxs_whitelist whitelist[] = { |
2338 | { .subvendor = 0x1005, .subdevice = 0x4710, .action = VIA_DXS_ENABLE }, /* Avance Logic Mobo */ | 2338 | { .subvendor = 0x1005, .subdevice = 0x4710, .action = VIA_DXS_ENABLE }, /* Avance Logic Mobo */ |
@@ -2413,6 +2413,10 @@ static int __devinit check_dxs_list(struct pci_dev *pci) | |||
2413 | } | 2413 | } |
2414 | } | 2414 | } |
2415 | 2415 | ||
2416 | /* for newer revision, default to DXS_SRC */ | ||
2417 | if (revision >= VIA_REV_8235) | ||
2418 | return VIA_DXS_SRC; | ||
2419 | |||
2416 | /* | 2420 | /* |
2417 | * not detected, try 48k rate only to be sure. | 2421 | * not detected, try 48k rate only to be sure. |
2418 | */ | 2422 | */ |
@@ -2457,7 +2461,7 @@ static int __devinit snd_via82xx_probe(struct pci_dev *pci, | |||
2457 | } | 2461 | } |
2458 | if (chip_type != TYPE_VIA8233A) { | 2462 | if (chip_type != TYPE_VIA8233A) { |
2459 | if (dxs_support == VIA_DXS_AUTO) | 2463 | if (dxs_support == VIA_DXS_AUTO) |
2460 | dxs_support = check_dxs_list(pci); | 2464 | dxs_support = check_dxs_list(pci, revision); |
2461 | /* force to use VIA8233 or 8233A model according to | 2465 | /* force to use VIA8233 or 8233A model according to |
2462 | * dxs_support module option | 2466 | * dxs_support module option |
2463 | */ | 2467 | */ |