|
@@ -163,6 +163,16 @@ MODULE_LICENSE("GPL");
|
|
|
|
|
|
static const char * const ashs_ids[] = { "ATK4001", "ATK4002", NULL };
|
|
|
|
|
|
+static bool ashs_present(void)
|
|
|
+{
|
|
|
+ int i = 0;
|
|
|
+ while (ashs_ids[i]) {
|
|
|
+ if (acpi_dev_found(ashs_ids[i++]))
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
struct bios_args {
|
|
|
u32 arg0;
|
|
|
u32 arg1;
|
|
@@ -1025,6 +1035,9 @@ static int asus_new_rfkill(struct asus_wmi *asus,
|
|
|
|
|
|
static void asus_wmi_rfkill_exit(struct asus_wmi *asus)
|
|
|
{
|
|
|
+ if (asus->driver->wlan_ctrl_by_user && ashs_present())
|
|
|
+ return;
|
|
|
+
|
|
|
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P5");
|
|
|
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P6");
|
|
|
asus_unregister_rfkill_notifier(asus, "\\_SB.PCI0.P0P7");
|
|
@@ -2120,16 +2133,6 @@ static int asus_wmi_fan_init(struct asus_wmi *asus)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-static bool ashs_present(void)
|
|
|
-{
|
|
|
- int i = 0;
|
|
|
- while (ashs_ids[i]) {
|
|
|
- if (acpi_dev_found(ashs_ids[i++]))
|
|
|
- return true;
|
|
|
- }
|
|
|
- return false;
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* WMI Driver
|
|
|
*/
|