mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
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: 0919db9f35 ("HID: asus: always fully initialize devices")
Signed-off-by: Denis Benato <denis.benato@linux.dev>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
This commit is contained in:
committed by
Jiri Kosina
parent
7253091766
commit
c89046d57d
@@ -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");
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user