]> git.baikalelectronics.ru Git - kernel.git/commitdiff
HID: logitech-hidpp: Reconcile USB and Unifying serials
authorBastien Nocera <hadess@hadess.net>
Thu, 2 Mar 2023 13:01:17 +0000 (14:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 May 2023 16:32:40 +0000 (17:32 +0100)
[ Upstream commit 5b3691d15e04b6d5a32c915577b8dbc5cfb56382 ]

Now that USB HID++ devices can gather a serial number that matches the
one that would be gathered when connected through a Unifying receiver,
remove the last difference by dropping the product ID as devices
usually have different product IDs when connected through USB or
Unifying.

For example, on the serials on a G903 wired/wireless mouse:
- Unifying before patch: 4067-e8-ce-cd-45
- USB before patch: c086-e8-ce-cd-45
- Unifying and USB after patch: e8-ce-cd-45

Signed-off-by: Bastien Nocera <hadess@hadess.net>
Link: https://lore.kernel.org/r/20230302130117.3975-2-hadess@hadess.net
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hid/hid-logitech-hidpp.c

index c39a4c56678de8cff8e09fd54bf9b61896b447d9..b2cd7527de195a6bc8b5af462a007221fde2ba81 100644 (file)
@@ -838,8 +838,7 @@ static int hidpp_unifying_init(struct hidpp_device *hidpp)
        if (ret)
                return ret;
 
-       snprintf(hdev->uniq, sizeof(hdev->uniq), "%04x-%4phD",
-                hdev->product, &serial);
+       snprintf(hdev->uniq, sizeof(hdev->uniq), "%4phD", &serial);
        dbg_hid("HID++ Unifying: Got serial: %s\n", hdev->uniq);
 
        name = hidpp_unifying_get_name(hidpp);
@@ -974,8 +973,7 @@ static int hidpp_serial_init(struct hidpp_device *hidpp)
        if (ret)
                return ret;
 
-       snprintf(hdev->uniq, sizeof(hdev->uniq), "%04x-%4phD",
-                hdev->product, &serial);
+       snprintf(hdev->uniq, sizeof(hdev->uniq), "%4phD", &serial);
        dbg_hid("HID++ DeviceInformation: Got serial: %s\n", hdev->uniq);
 
        return 0;