summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoderick Colenbrander <roderick.colenbrander@sony.com>2016-12-08 22:09:51 -0500
committerJiri Kosina <jkosina@suse.cz>2016-12-19 09:07:37 -0500
commitc70d5f70ccbbdf56bb86adb42127db90d0c90976 (patch)
treed725a2a2bfdfd5eb5e43ea37c9096c445b4a0e63
parent2b6579d4a71afb19c6583470783371b992944f67 (diff)
HID: sony: Use DS4 MAC address as unique identifier on USB
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>
-rw-r--r--drivers/hid/hid-sony.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index f68c921af55e..c6982a29a56d 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -2390,6 +2390,12 @@ static int sony_check_add(struct sony_sc *sc)
2390 } 2390 }
2391 2391
2392 memcpy(sc->mac_address, &buf[1], sizeof(sc->mac_address)); 2392 memcpy(sc->mac_address, &buf[1], sizeof(sc->mac_address));
2393
2394 snprintf(sc->hdev->uniq, sizeof(sc->hdev->uniq),
2395 "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx",
2396 sc->mac_address[5], sc->mac_address[4],
2397 sc->mac_address[3], sc->mac_address[2],
2398 sc->mac_address[1], sc->mac_address[0]);
2393 } else if ((sc->quirks & SIXAXIS_CONTROLLER_USB) || 2399 } else if ((sc->quirks & SIXAXIS_CONTROLLER_USB) ||
2394 (sc->quirks & NAVIGATION_CONTROLLER_USB)) { 2400 (sc->quirks & NAVIGATION_CONTROLLER_USB)) {
2395 buf = kmalloc(SIXAXIS_REPORT_0xF2_SIZE, GFP_KERNEL); 2401 buf = kmalloc(SIXAXIS_REPORT_0xF2_SIZE, GFP_KERNEL);