asus-wmi: control wlan-led only if wapf == 4

Controlling the wlan led seems to have some side effects to the machines
with wapf value is not equal to 4. It will make the keyboard backlight
out of order.
So, the patch will enable the wlan led function only if the wapf == 4.

Bug: https://bugzilla.kernel.org/show_bug.cgi?id=46791

Reported-by: Mirto Silvio Busico <m.busico@ieee.org>
Tested-by: Karol Herbst <karolherbst@me.com>
Tested-by: drunkenbatman <drunkenbatman@gmail.com>
Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
This commit is contained in:
AceLan Kao 2013-05-30 10:31:50 +08:00 committed by Matthew Garrett
parent b5f4f9ef01
commit e8f56c80ae

View File

@ -558,7 +558,7 @@ static int asus_wmi_led_init(struct asus_wmi *asus)
goto error; goto error;
} }
if (wlan_led_presence(asus)) { if (wlan_led_presence(asus) && (asus->driver->quirks->wapf == 4)) {
INIT_WORK(&asus->wlan_led_work, wlan_led_update); INIT_WORK(&asus->wlan_led_work, wlan_led_update);
asus->wlan_led.name = "asus::wlan"; asus->wlan_led.name = "asus::wlan";
@ -886,7 +886,8 @@ static int asus_new_rfkill(struct asus_wmi *asus,
if (!*rfkill) if (!*rfkill)
return -EINVAL; return -EINVAL;
if (dev_id == ASUS_WMI_DEVID_WLAN) if ((dev_id == ASUS_WMI_DEVID_WLAN) &&
(asus->driver->quirks->wapf == 4))
rfkill_set_led_trigger_name(*rfkill, "asus-wlan"); rfkill_set_led_trigger_name(*rfkill, "asus-wlan");
rfkill_init_sw_state(*rfkill, !result); rfkill_init_sw_state(*rfkill, !result);