[alsa-devel] [PATCH] ALSA: hda - mute LEDs on HP: also check PCI SSID

Takashi Iwai tiwai at suse.de
Mon Jan 14 14:29:19 CET 2013


At Mon, 14 Jan 2013 14:24:37 +0100,
David Henningsson wrote:
> 
> On 01/14/2013 01:50 PM, Takashi Iwai wrote:
> > At Mon, 14 Jan 2013 12:59:10 +0100,
> > David Henningsson wrote:
> >>
> >> If the codec subvendor is not set to HP, maybe the PCI SSID is set
> >> to HP. If so, there might still be a valid mute LED string in BIOS/UEFI.
> >>
> >> Cc: stable at vger.kernel.org
> >> Buglink: https://bugs.launchpad.net/bugs/1099372
> >> Reported-and-tested-by: Tammy Yang <tammy.yang at canonical.com>
> >> Signed-off-by: David Henningsson <david.henningsson at canonical.com>
> >
> > Is there any real machine showing this bug?
> 
> Yes, but it is pre-release hardware, so maybe the BIOS/UEFI might not be 
> the final version. If you like, we can wait and see if the problem is 
> corrected in later BIOS/UEFI versions.

Yes, I'm sure that it's a problem of early BIOS/UEFI version.
At least it's worth to report HP about it.

> I was thinking that this patch does not hurt anyway.

I'm fine to apply, but wonder whether it's really a target for stable
kernel (unless the device is already in market).

> > If yes, could you give alsa-info.sh output?
> 
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1099372/+attachment/3482841/+files/alsa-info-hp.txt

OK, thanks.


Takashi

> 
> >
> >
> > thanks,
> >
> > Takashi
> >
> >> ---
> >>   sound/pci/hda/patch_sigmatel.c |    3 ++-
> >>   1 file changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
> >> index a86547c..40c74a2 100644
> >> --- a/sound/pci/hda/patch_sigmatel.c
> >> +++ b/sound/pci/hda/patch_sigmatel.c
> >> @@ -4948,7 +4948,8 @@ static int find_mute_led_cfg(struct hda_codec *codec, int default_polarity)
> >>   			     &spec->gpio_led_polarity);
> >>   		return 1;
> >>   	}
> >> -	if ((codec->subsystem_id >> 16) == PCI_VENDOR_ID_HP) {
> >> +	if ((codec->subsystem_id >> 16) == PCI_VENDOR_ID_HP ||
> >> +	   codec->bus->pci->subsystem_vendor == PCI_VENDOR_ID_HP) {
> >>   		while ((dev = dmi_find_device(DMI_DEV_TYPE_OEM_STRING,
> >>   								NULL, dev))) {
> >>   			if (sscanf(dev->name, "HP_Mute_LED_%d_%x",
> >> --
> >> 1.7.9.5
> >>
> >
> 
> 
> 
> -- 
> David Henningsson, Canonical Ltd.
> https://launchpad.net/~diwic
> 


More information about the Alsa-devel mailing list