Commit 5376d7f6 authored by Jaroslav Kysela's avatar Jaroslav Kysela

[ALSA] Fix detection of Xbox

AC97 Codec Core
Unfortunately, on newer xboxes, the chip reports less info than
before, making another change necessary - this change is backwards
compatible, and doesn't break earlier xboxes, of course.

The patch is originally from Ed Hucek <hostmaster@ed-soft.at>.
Signed-off-by: default avatarDavid Pye <dmp@davidmpye.dyndns.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent a934a89e
...@@ -1967,7 +1967,8 @@ int snd_ac97_mixer(ac97_bus_t *bus, ac97_template_t *template, ac97_t **rac97) ...@@ -1967,7 +1967,8 @@ int snd_ac97_mixer(ac97_bus_t *bus, ac97_template_t *template, ac97_t **rac97)
__access_ok: __access_ok:
ac97->id = snd_ac97_read(ac97, AC97_VENDOR_ID1) << 16; ac97->id = snd_ac97_read(ac97, AC97_VENDOR_ID1) << 16;
ac97->id |= snd_ac97_read(ac97, AC97_VENDOR_ID2); ac97->id |= snd_ac97_read(ac97, AC97_VENDOR_ID2);
if (ac97->id == 0x00000000 || ac97->id == 0xffffffff) { if (! (ac97->scaps & AC97_SCAP_DETECT_BY_VENDOR) &&
(ac97->id == 0x00000000 || ac97->id == 0xffffffff)) {
snd_printk(KERN_ERR "AC'97 %d access is not valid [0x%x], removing mixer.\n", ac97->num, ac97->id); snd_printk(KERN_ERR "AC'97 %d access is not valid [0x%x], removing mixer.\n", ac97->num, ac97->id);
snd_ac97_free(ac97); snd_ac97_free(ac97);
return -EIO; return -EIO;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment