aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/eeepc-laptop.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/platform/x86/eeepc-laptop.c')
-rw-r--r--drivers/platform/x86/eeepc-laptop.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c
index f54cfeac5221..57f21f0a5655 100644
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -158,6 +158,7 @@ enum { KE_KEY, KE_END };
158static struct key_entry eeepc_keymap[] = { 158static struct key_entry eeepc_keymap[] = {
159 /* Sleep already handled via generic ACPI code */ 159 /* Sleep already handled via generic ACPI code */
160 {KE_KEY, 0x10, KEY_WLAN }, 160 {KE_KEY, 0x10, KEY_WLAN },
161 {KE_KEY, 0x11, KEY_WLAN },
161 {KE_KEY, 0x12, KEY_PROG1 }, 162 {KE_KEY, 0x12, KEY_PROG1 },
162 {KE_KEY, 0x13, KEY_MUTE }, 163 {KE_KEY, 0x13, KEY_MUTE },
163 {KE_KEY, 0x14, KEY_VOLUMEDOWN }, 164 {KE_KEY, 0x14, KEY_VOLUMEDOWN },
@@ -528,6 +529,7 @@ static int notify_brn(void)
528 529
529static void eeepc_rfkill_notify(acpi_handle handle, u32 event, void *data) 530static void eeepc_rfkill_notify(acpi_handle handle, u32 event, void *data)
530{ 531{
532 enum rfkill_state state;
531 struct pci_dev *dev; 533 struct pci_dev *dev;
532 struct pci_bus *bus = pci_find_bus(0, 1); 534 struct pci_bus *bus = pci_find_bus(0, 1);
533 535
@@ -539,7 +541,9 @@ static void eeepc_rfkill_notify(acpi_handle handle, u32 event, void *data)
539 return; 541 return;
540 } 542 }
541 543
542 if (get_acpi(CM_ASL_WLAN) == 1) { 544 eeepc_wlan_rfkill_state(ehotk->eeepc_wlan_rfkill, &state);
545
546 if (state == RFKILL_STATE_UNBLOCKED) {
543 dev = pci_get_slot(bus, 0); 547 dev = pci_get_slot(bus, 0);
544 if (dev) { 548 if (dev) {
545 /* Device already present */ 549 /* Device already present */
@@ -559,6 +563,8 @@ static void eeepc_rfkill_notify(acpi_handle handle, u32 event, void *data)
559 pci_dev_put(dev); 563 pci_dev_put(dev);
560 } 564 }
561 } 565 }
566
567 rfkill_force_state(ehotk->eeepc_wlan_rfkill, state);
562} 568}
563 569
564static void eeepc_hotk_notify(acpi_handle handle, u32 event, void *data) 570static void eeepc_hotk_notify(acpi_handle handle, u32 event, void *data)