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

David Henningsson david.henningsson at canonical.com
Mon Jan 14 14:24:37 CET 2013


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.

I was thinking that this patch does not hurt anyway.

> 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

>
>
> 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