]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
HID: sony: Use DS4 MAC address as unique identifier on USB
authorRoderick Colenbrander <roderick.colenbrander@sony.com>
Fri, 9 Dec 2016 03:09:51 +0000 (19:09 -0800)
committerJiri Kosina <jkosina@suse.cz>
Mon, 19 Dec 2016 14:07:37 +0000 (15:07 +0100)
The DS4 MAC address is reported as a unique identified when
using Bluetooth. For USB there is no unique identifier reported
yet, so use the MAC address.

Signed-off-by: Roderick Colenbrander <roderick.colenbrander@sony.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-sony.c

index f68c921af55ef7af09e801f00c76f58a182db117..c6982a29a56d22ef4e4ebd9c7d80c8521c03002d 100644 (file)
@@ -2390,6 +2390,12 @@ static int sony_check_add(struct sony_sc *sc)
                }
 
                memcpy(sc->mac_address, &buf[1], sizeof(sc->mac_address));
+
+               snprintf(sc->hdev->uniq, sizeof(sc->hdev->uniq),
+                       "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",
+                       sc->mac_address[5], sc->mac_address[4],
+                       sc->mac_address[3], sc->mac_address[2],
+                       sc->mac_address[1], sc->mac_address[0]);
        } else if ((sc->quirks & SIXAXIS_CONTROLLER_USB) ||
                        (sc->quirks & NAVIGATION_CONTROLLER_USB)) {
                buf = kmalloc(SIXAXIS_REPORT_0xF2_SIZE, GFP_KERNEL);