Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ae16dfb authored by Aditya Pakki's avatar Aditya Pakki Committed by Jiri Kosina
Browse files

HID: lenovo: Add checks to fix of_led_classdev_register



In lenovo_probe_tpkbd(), the function of_led_classdev_register() could
return an error value that is unchecked. The fix adds these checks.

Signed-off-by: default avatarAditya Pakki <pakki001@umn.edu>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 46b14eef
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -743,7 +743,9 @@ static int lenovo_probe_tpkbd(struct hid_device *hdev)
	data_pointer->led_mute.brightness_get = lenovo_led_brightness_get_tpkbd;
	data_pointer->led_mute.brightness_set = lenovo_led_brightness_set_tpkbd;
	data_pointer->led_mute.dev = dev;
	led_classdev_register(dev, &data_pointer->led_mute);
	ret = led_classdev_register(dev, &data_pointer->led_mute);
	if (ret < 0)
		goto err;

	data_pointer->led_micmute.name = name_micmute;
	data_pointer->led_micmute.brightness_get =
@@ -751,7 +753,11 @@ static int lenovo_probe_tpkbd(struct hid_device *hdev)
	data_pointer->led_micmute.brightness_set =
		lenovo_led_brightness_set_tpkbd;
	data_pointer->led_micmute.dev = dev;
	led_classdev_register(dev, &data_pointer->led_micmute);
	ret = led_classdev_register(dev, &data_pointer->led_micmute);
	if (ret < 0) {
		led_classdev_unregister(&data_pointer->led_mute);
		goto err;
	}

	lenovo_features_set_tpkbd(hdev);