[alsa-devel] [PATCH] ALSA: hda - mute LEDs on HP: also check PCI SSID
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@vger.kernel.org Buglink: https://bugs.launchpad.net/bugs/1099372 Reported-and-tested-by: Tammy Yang tammy.yang@canonical.com Signed-off-by: David Henningsson david.henningsson@canonical.com --- 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",
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@vger.kernel.org Buglink: https://bugs.launchpad.net/bugs/1099372 Reported-and-tested-by: Tammy Yang tammy.yang@canonical.com Signed-off-by: David Henningsson david.henningsson@canonical.com
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 ||
while ((dev = dmi_find_device(DMI_DEV_TYPE_OEM_STRING, NULL, dev))) { if (sscanf(dev->name, "HP_Mute_LED_%d_%x",codec->bus->pci->subsystem_vendor == PCI_VENDOR_ID_HP) {
-- 1.7.9.5
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@vger.kernel.org Buglink: https://bugs.launchpad.net/bugs/1099372 Reported-and-tested-by: Tammy Yang tammy.yang@canonical.com Signed-off-by: David Henningsson david.henningsson@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/348...
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 ||
while ((dev = dmi_find_device(DMI_DEV_TYPE_OEM_STRING, NULL, dev))) { if (sscanf(dev->name, "HP_Mute_LED_%d_%x",codec->bus->pci->subsystem_vendor == PCI_VENDOR_ID_HP) {
-- 1.7.9.5
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@vger.kernel.org Buglink: https://bugs.launchpad.net/bugs/1099372 Reported-and-tested-by: Tammy Yang tammy.yang@canonical.com Signed-off-by: David Henningsson david.henningsson@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/348...
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 ||
while ((dev = dmi_find_device(DMI_DEV_TYPE_OEM_STRING, NULL, dev))) { if (sscanf(dev->name, "HP_Mute_LED_%d_%x",codec->bus->pci->subsystem_vendor == PCI_VENDOR_ID_HP) {
-- 1.7.9.5
-- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic
participants (2)
-
David Henningsson
-
Takashi Iwai