ALSA: hda - Enable beep on Realtek codecs with PCI SSID override
authorTakashi Iwai <tiwai@suse.de>
Mon, 5 Jul 2010 15:28:17 +0000 (17:28 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 5 Jul 2010 15:28:17 +0000 (17:28 +0200)
When the PCI SSID gives an overriding SKU assno, PC-beep bit isn't
detected (since it's located over 16bit), resulting in no PC beep.
Also, many devices seem ignoring the requirement by Realtek's spec
for SSID numbers, and it also confuses the PC beep detection.

This patch assumes the PC beep is available on every machine with
PCI SSID override.  It's a regression fix from 2.6.34.

Reference: Kernel bug 16251
http://bugzilla.kernel.org/show_bug.cgi?id=16251

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_realtek.c

index 32299ee5b4cdf5408e38fb926a902f853d871875..ff614dd824c1fe97cbfe9ee378b744676bc50e93 100644 (file)
@@ -1268,8 +1268,10 @@ static int alc_auto_parse_customize_define(struct hda_codec *codec)
        struct alc_spec *spec = codec->spec;
 
        ass = codec->subsystem_id & 0xffff;
-       if (ass != codec->bus->pci->subsystem_device && (ass & 1))
+       if (ass != codec->bus->pci->subsystem_device && (ass & 1)) {
+               spec->cdefine.enable_pcbeep = 1; /* assume always enabled */
                goto do_sku;
+       }
 
        nid = 0x1d;
        if (codec->vendor_id == 0x10ec0260)