Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752168Ab0G2Fol (ORCPT ); Thu, 29 Jul 2010 01:44:41 -0400 Received: from cantor.suse.de ([195.135.220.2]:55592 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751194Ab0G2Fok convert rfc822-to-8bit (ORCPT ); Thu, 29 Jul 2010 01:44:40 -0400 Date: Thu, 29 Jul 2010 07:44:38 +0200 Message-ID: From: Takashi Iwai To: "Mario 'BitKoenig' Holbe" Cc: linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org Subject: Re: [alsa-devel] Regression 2.6.35-rc6: ALSA Intel HDA/Realtek: missing Beep In-Reply-To: <20100728212745.GA15394@darkside.kls.lan> References: <20100728144903.GA18170@darkside.kls.lan> <20100728212745.GA15394@darkside.kls.lan> User-Agent: Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.7 Emacs/23.1 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3514 Lines: 124 At Wed, 28 Jul 2010 23:27:46 +0200, Mario 'BitKoenig' Holbe wrote: > > [1 ] > On Wed, Jul 28, 2010 at 06:03:29PM +0200, Takashi Iwai wrote: > > I wrote: > > > Mario 'BitKoenig' Holbe wrote: > > > > My PC-Speaker Beep control worked in 2.6.34, but is gone in 2.6.35-rc6. > > > It's because now the driver checks the SSID your board sets up. > > > So, it's actually BIOS that clears it. > > But the BIOS itself beeps through the sound-card at boot :/ But BIOS tells that the HD-audio codec shouldn't use, so the driver follows it. > > Or, does the following patch fix? It's already in sound git tree, > > Nope, unfortunately it doesn't. Still no Beep controls, no beep through > sound-card. > > May I somehow provide any further data? Please give alsa-info.sh output instead of codec proc file. It's more comprehensive. > Or am I somehow able to tweak it? Is there a module parameter to set > this SSID bit? I mean, it did work before... :) With the patch below, you'll likely have back the system beep sound. But it doesn't go through codec, thus no volume control. thanks, Takashi --- >From 8af2591d6342a9e4bb79b4f1236246a79d20ebee Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Wed, 28 Jul 2010 17:37:16 +0200 Subject: [PATCH] ALSA: hda - Don't register beep input device when no beep is available We check now the availability of PC beep and skip the build of beep mixers, but the driver still registers the input device. This should be checked as well. Signed-off-by: Takashi Iwai --- sound/pci/hda/patch_realtek.c | 32 +++++++++++++++++++------------- 1 files changed, 19 insertions(+), 13 deletions(-) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index ff614dd..d7fd846 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -10566,10 +10566,12 @@ static int patch_alc882(struct hda_codec *codec) } } - err = snd_hda_attach_beep_device(codec, 0x1); - if (err < 0) { - alc_free(codec); - return err; + if (spec->cdefine.enable_pcbeep) { + err = snd_hda_attach_beep_device(codec, 0x1); + if (err < 0) { + alc_free(codec); + return err; + } } if (board_config != ALC882_AUTO) @@ -12435,7 +12437,7 @@ static int patch_alc262(struct hda_codec *codec) } } - if (!spec->no_analog) { + if (!spec->no_analog && spec->cdefine.enable_pcbeep) { err = snd_hda_attach_beep_device(codec, 0x1); if (err < 0) { alc_free(codec); @@ -14458,10 +14460,12 @@ static int patch_alc269(struct hda_codec *codec) } } - err = snd_hda_attach_beep_device(codec, 0x1); - if (err < 0) { - alc_free(codec); - return err; + if (spec->cdefine.enable_pcbeep) { + err = snd_hda_attach_beep_device(codec, 0x1); + if (err < 0) { + alc_free(codec); + return err; + } } if (board_config != ALC269_AUTO) @@ -18691,10 +18695,12 @@ static int patch_alc662(struct hda_codec *codec) } } - err = snd_hda_attach_beep_device(codec, 0x1); - if (err < 0) { - alc_free(codec); - return err; + if (spec->cdefine.enable_pcbeep) { + err = snd_hda_attach_beep_device(codec, 0x1); + if (err < 0) { + alc_free(codec); + return err; + } } if (board_config != ALC662_AUTO) -- 1.7.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/