From: Denis Benato Date: Sat, 28 Feb 2026 19:10:10 +0000 (+0100) Subject: HID: asus: do not try to initialize the backlight if the enpoint doesn't support it X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c89046d57d534348b41ca28f5c1c5443743dbe04;p=thirdparty%2Fkernel%2Flinux.git HID: asus: do not try to initialize the backlight if the enpoint doesn't support it Avoid possibly printing a warning about the inability to initialize the backlight if the hid endpoint doesn't support it. Also fix and move an incorrect check in asus_kbd_register_leds(): that same check is now used as a precondition to call that function. Fixes: 0919db9f3583 ("HID: asus: always fully initialize devices") Signed-off-by: Denis Benato Signed-off-by: Jiri Kosina --- diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c index 26047ccc8e7da..9fccfbe187cd5 100644 --- a/drivers/hid/hid-asus.c +++ b/drivers/hid/hid-asus.c @@ -738,10 +738,6 @@ static int asus_kbd_register_leds(struct hid_device *hdev) unsigned char kbd_func; int ret; - /* Laptops keyboard backlight is always at 0x5a */ - if (asus_has_report_id(hdev, FEATURE_KBD_REPORT_ID)) - return -ENODEV; - /* Get keyboard functions */ ret = asus_kbd_get_functions(hdev, &kbd_func, FEATURE_KBD_REPORT_ID); if (ret < 0) @@ -1307,8 +1303,10 @@ static int asus_probe(struct hid_device *hdev, const struct hid_device_id *id) } } + /* Laptops keyboard backlight is always at 0x5a */ if (is_vendor && (drvdata->quirks & QUIRK_USE_KBD_BACKLIGHT) && - asus_kbd_register_leds(hdev)) + (asus_has_report_id(hdev, FEATURE_KBD_REPORT_ID)) && + (asus_kbd_register_leds(hdev))) hid_warn(hdev, "Failed to initialize backlight.\n"); /*