HID: logitech-hidpp: do not make failure to get the name fatal
authorHans de Goede <hdegoede@redhat.com>
Sat, 20 Apr 2019 11:22:07 +0000 (13:22 +0200)
committerBenjamin Tissoires <benjamin.tissoires@redhat.com>
Tue, 23 Apr 2019 16:02:44 +0000 (18:02 +0200)
With devices attached to a non-unifying 2.4GHz receiver we sometimes fail
to get the name. This is not a fatal error, we can just continue with the
original name.

So instead of bailing out, continue with battery-initialization when this
happens. This fixes the battery not getting registered when we fail to
get the name.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
drivers/hid/hid-logitech-hidpp.c

index e7f0823..2a0866e 100644 (file)
@@ -3160,18 +3160,15 @@ static void hidpp_connect_event(struct hidpp_device *hidpp)
 
        if (hidpp->name == hdev->name && hidpp->protocol_major >= 2) {
                name = hidpp_get_device_name(hidpp);
-               if (!name) {
-                       hid_err(hdev,
-                               "unable to retrieve the name of the device");
-                       return;
-               }
-
-               devm_name = devm_kasprintf(&hdev->dev, GFP_KERNEL, "%s", name);
-               kfree(name);
-               if (!devm_name)
-                       return;
+               if (name) {
+                       devm_name = devm_kasprintf(&hdev->dev, GFP_KERNEL,
+                                                  "%s", name);
+                       kfree(name);
+                       if (!devm_name)
+                               return;
 
-               hidpp->name = devm_name;
+                       hidpp->name = devm_name;
+               }
        }
 
        hidpp_initialize_battery(hidpp);