diff options
author | Takashi Iwai <tiwai@suse.de> | 2010-07-05 11:28:17 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-07-05 11:28:17 -0400 |
commit | f189efcd1cc06b75fe18642c9751d26aa5ed2b54 (patch) | |
tree | 818166806159f185e73b1570eafc734ec1c3e1ea /sound | |
parent | 3bfea98ff73d377ffce0d4c7f938b7ef958cdb35 (diff) |
ALSA: hda - Enable beep on Realtek codecs with PCI SSID override
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>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 32299ee5b4cd..ff614dd824c1 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -1268,8 +1268,10 @@ static int alc_auto_parse_customize_define(struct hda_codec *codec) | |||
1268 | struct alc_spec *spec = codec->spec; | 1268 | struct alc_spec *spec = codec->spec; |
1269 | 1269 | ||
1270 | ass = codec->subsystem_id & 0xffff; | 1270 | ass = codec->subsystem_id & 0xffff; |
1271 | if (ass != codec->bus->pci->subsystem_device && (ass & 1)) | 1271 | if (ass != codec->bus->pci->subsystem_device && (ass & 1)) { |
1272 | spec->cdefine.enable_pcbeep = 1; /* assume always enabled */ | ||
1272 | goto do_sku; | 1273 | goto do_sku; |
1274 | } | ||
1273 | 1275 | ||
1274 | nid = 0x1d; | 1276 | nid = 0x1d; |
1275 | if (codec->vendor_id == 0x10ec0260) | 1277 | if (codec->vendor_id == 0x10ec0260) |