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

Commit 02cc097e authored by Peter Wu's avatar Peter Wu Committed by Jiri Kosina
Browse files

HID: logitech-hidpp: do not return the name length



We do not make any use of the actual name length get through
hidpp_get_device_name(). Original patch by Benjamin Tissoires, this
patch also replaces a (now) unnecessary goto by return NULL.

Signed-off-by: default avatarPeter Wu <peter@lekensteyn.nl>
Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent 552f12eb
Loading
Loading
Loading
Loading
+6 −13
Original line number Diff line number Diff line
@@ -461,7 +461,7 @@ static int hidpp_devicenametype_get_device_name(struct hidpp_device *hidpp,
	return count;
}

static char *hidpp_get_device_name(struct hidpp_device *hidpp, u8 *name_length)
static char *hidpp_get_device_name(struct hidpp_device *hidpp)
{
	u8 feature_type;
	u8 feature_index;
@@ -473,28 +473,23 @@ static char *hidpp_get_device_name(struct hidpp_device *hidpp, u8 *name_length)
	ret = hidpp_root_get_feature(hidpp, HIDPP_PAGE_GET_DEVICE_NAME_TYPE,
		&feature_index, &feature_type);
	if (ret)
		goto out_err;
		return NULL;

	ret = hidpp_devicenametype_get_count(hidpp, feature_index,
		&__name_length);
	if (ret)
		goto out_err;
		return NULL;

	name = kzalloc(__name_length + 1, GFP_KERNEL);
	if (!name)
		goto out_err;
		return NULL;

	*name_length = __name_length + 1;
	while (index < __name_length)
		index += hidpp_devicenametype_get_device_name(hidpp,
			feature_index, index, name + index,
			__name_length - index);

	return name;

out_err:
	*name_length = 0;
	return NULL;
}

/* -------------------------------------------------------------------------- */
@@ -989,7 +984,6 @@ static void hidpp_overwrite_name(struct hid_device *hdev, bool use_unifying)
{
	struct hidpp_device *hidpp = hid_get_drvdata(hdev);
	char *name;
	u8 name_length;

	if (use_unifying)
		/*
@@ -999,7 +993,7 @@ static void hidpp_overwrite_name(struct hid_device *hdev, bool use_unifying)
		 */
		name = hidpp_get_unifying_name(hidpp);
	else
		name = hidpp_get_device_name(hidpp, &name_length);
		name = hidpp_get_device_name(hidpp);

	if (!name)
		hid_err(hdev, "unable to retrieve the name of the device");
@@ -1053,7 +1047,6 @@ static void hidpp_connect_event(struct hidpp_device *hidpp)
	bool connected = atomic_read(&hidpp->connected);
	struct input_dev *input;
	char *name, *devm_name;
	u8 name_length;

	if (hidpp->quirks & HIDPP_QUIRK_CLASS_WTP)
		wtp_connect(hdev, connected);
@@ -1080,7 +1073,7 @@ static void hidpp_connect_event(struct hidpp_device *hidpp)
		return;
	}

	name = hidpp_get_device_name(hidpp, &name_length);
	name = hidpp_get_device_name(hidpp);
	if (!name) {
		hid_err(hdev, "unable to retrieve the name of the device");
	} else {