HID: logitech-hidpp: store the name of the device in struct hidpp
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Thu, 8 Jan 2015 19:37:12 +0000 (14:37 -0500)
committerJiri Kosina <jkosina@suse.cz>
Fri, 9 Jan 2015 10:29:39 +0000 (11:29 +0100)
commit005b3f574a0a53f476a62da5c861c1c9bf8177b7
treefd01a7f003d61703438f88aa718c0dbae2fbed52
parentf677bb150c2f7b96ebcd377cd722e9d2649e9400
HID: logitech-hidpp: store the name of the device in struct hidpp

If a disconnect occurs while getting the actual name of the device
(which can take several HID transactions), the name of the device will
be the hid name, provided by the Unifying Receiver.
This means that in some cases, the user space will see a different
name that what it usually sees when there is no disconnect.

We should store the name of the device in the struct hidpp. That way,
if a disconnect occurs while we are accessing the name,
hidpp_connect_event() can fail, and the input node is not created.

The input node will be created only if we have a connection which
lasts long enough to retrieve all the requested information:
name, protocol, and specific configuration.

Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Tested-by: Peter Wu <peter@lekensteyn.nl>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-logitech-hidpp.c