mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
HID: input: do not append a suffix if the name already has it
Or it creates some weird input names like: "MI Dongle MI Wireless Mouse Mouse" Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
71f6fa90a3
commit
d7065620b8
@ -1516,6 +1516,7 @@ static struct hid_input *hidinput_allocate(struct hid_device *hid,
|
||||
struct hid_input *hidinput = kzalloc(sizeof(*hidinput), GFP_KERNEL);
|
||||
struct input_dev *input_dev = input_allocate_device();
|
||||
const char *suffix = NULL;
|
||||
size_t suffix_len, name_len;
|
||||
|
||||
if (!hidinput || !input_dev)
|
||||
goto fail;
|
||||
@ -1559,10 +1560,15 @@ static struct hid_input *hidinput_allocate(struct hid_device *hid,
|
||||
}
|
||||
|
||||
if (suffix) {
|
||||
hidinput->name = kasprintf(GFP_KERNEL, "%s %s",
|
||||
hid->name, suffix);
|
||||
if (!hidinput->name)
|
||||
goto fail;
|
||||
name_len = strlen(hid->name);
|
||||
suffix_len = strlen(suffix);
|
||||
if ((name_len < suffix_len) ||
|
||||
strcmp(hid->name + name_len - suffix_len, suffix)) {
|
||||
hidinput->name = kasprintf(GFP_KERNEL, "%s %s",
|
||||
hid->name, suffix);
|
||||
if (!hidinput->name)
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
|
||||
input_set_drvdata(input_dev, hid);
|
||||
|
Loading…
Reference in New Issue
Block a user