@@ -304,6 +304,7 @@ struct asus_wmi {
304
304
305
305
u32 kbd_rgb_dev ;
306
306
bool kbd_rgb_state_available ;
307
+ bool oobe_state_available ;
307
308
308
309
u8 throttle_thermal_policy_mode ;
309
310
u32 throttle_thermal_policy_dev ;
@@ -1826,7 +1827,7 @@ static int asus_wmi_led_init(struct asus_wmi *asus)
1826
1827
goto error ;
1827
1828
}
1828
1829
1829
- if (asus_wmi_dev_is_present ( asus , ASUS_WMI_DEVID_OOBE ) ) {
1830
+ if (asus -> oobe_state_available ) {
1830
1831
/*
1831
1832
* Disable OOBE state, so that e.g. the keyboard backlight
1832
1833
* works.
@@ -4723,6 +4724,7 @@ static int asus_wmi_add(struct platform_device *pdev)
4723
4724
asus -> egpu_enable_available = asus_wmi_dev_is_present (asus , ASUS_WMI_DEVID_EGPU );
4724
4725
asus -> dgpu_disable_available = asus_wmi_dev_is_present (asus , ASUS_WMI_DEVID_DGPU );
4725
4726
asus -> kbd_rgb_state_available = asus_wmi_dev_is_present (asus , ASUS_WMI_DEVID_TUF_RGB_STATE );
4727
+ asus -> oobe_state_available = asus_wmi_dev_is_present (asus , ASUS_WMI_DEVID_OOBE );
4726
4728
asus -> ally_mcu_usb_switch = acpi_has_method (NULL , ASUS_USB0_PWR_EC0_CSEE )
4727
4729
&& dmi_check_system (asus_ally_mcu_quirk );
4728
4730
@@ -4971,6 +4973,13 @@ static int asus_hotk_restore(struct device *device)
4971
4973
}
4972
4974
if (!IS_ERR_OR_NULL (asus -> kbd_led .dev ))
4973
4975
kbd_led_update (asus );
4976
+ if (asus -> oobe_state_available ) {
4977
+ /*
4978
+ * Disable OOBE state, so that e.g. the keyboard backlight
4979
+ * works.
4980
+ */
4981
+ asus_wmi_set_devstate (ASUS_WMI_DEVID_OOBE , 1 , NULL );
4982
+ }
4974
4983
4975
4984
if (asus_wmi_has_fnlock_key (asus ))
4976
4985
asus_wmi_fnlock_update (asus );
0 commit comments