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;
 
 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");
        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
  */