diff options
author | Roderick Colenbrander <roderick.colenbrander@sony.com> | 2016-12-09 04:09:51 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2016-12-19 15:07:37 +0100 |
commit | c70d5f70ccbbdf56bb86adb42127db90d0c90976 (patch) | |
tree | d725a2a2bfdfd5eb5e43ea37c9096c445b4a0e63 /drivers | |
parent | HID: sony: Fix error handling bug when touchpad registration fails (diff) | |
download | linux-c70d5f70ccbbdf56bb86adb42127db90d0c90976.tar.xz linux-c70d5f70ccbbdf56bb86adb42127db90d0c90976.zip |
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/hid/hid-sony.c | 6 |
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) } 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); |