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: Peter Wu <peter@xxxxxxxxxxxxx> --- drivers/hid/hid-logitech-hidpp.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c index 1a6395d..5066df8 100644 --- a/drivers/hid/hid-logitech-hidpp.c +++ b/drivers/hid/hid-logitech-hidpp.c @@ -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 { -- 2.1.3 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html