Ubuntu

Mute LED not working on a new HP machine

Reported by David Henningsson on 2013-01-14
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Undecided
Unassigned
linux (Ubuntu)
Undecided
David Henningsson

Bug Description

This bug is for tracking purposes only. Please do not triage.

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: <email address hidden>
Buglink: https://bugs.launchpad.net/bugs/1099372
Reported-and-tested-by: Tammy Yang <email address hidden>
Signed-off-by: David Henningsson <email address hidden>
---
 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

Changed in linux (Ubuntu):
assignee: nobody → David Henningsson (diwic)
status: New → In Progress
Takashi Iwai (tiwai) 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: <email address hidden>
> Buglink: https://bugs.launchpad.net/bugs/1099372
> Reported-and-tested-by: Tammy Yang <email address hidden>
> Signed-off-by: David Henningsson <email address hidden>

Is there any real machine showing this bug?
If yes, could you give alsa-info.sh output?

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 (diwic) wrote :
David Henningsson (diwic) 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: <email address hidden>
>> Buglink: https://bugs.launchpad.net/bugs/1099372
>> Reported-and-tested-by: Tammy Yang <email address hidden>
>> Signed-off-by: David Henningsson <email address hidden>
>
> 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

Takashi Iwai (tiwai) wrote :

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: <email address hidden>
> >> Buglink: https://bugs.launchpad.net/bugs/1099372
> >> Reported-and-tested-by: Tammy Yang <email address hidden>
> >> Signed-off-by: David Henningsson <email address hidden>
> >
> > 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
>

tags: added: blocks-hwcert-enablement
David Henningsson (diwic) wrote :

This was fixed by an updated BIOS. No action required.

Changed in linux (Ubuntu):
status: In Progress → Invalid
Changed in hwe-next:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers