From: Peter Wu Date: Thu, 11 Dec 2014 12:51:17 +0000 (+0100) Subject: HID: logitech-hidpp: do not return the name length X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=02cc097e62d51bf6e5cb4209ca90d9bf68e358b5;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git 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: Peter Wu Signed-off-by: Benjamin Tissoires Signed-off-by: Jiri Kosina --- diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c index 1a6395d0c2bd..5066df8afee5 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 {