Commit c89046d5 authored by Denis Benato's avatar Denis Benato Committed by Jiri Kosina
Browse files

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: 0919db9f ("HID: asus: always fully initialize devices")
Signed-off-by: default avatarDenis Benato <denis.benato@linux.dev>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
parent 72530917
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -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");

	/*