diff options
| author | Roderick Colenbrander <roderick.colenbrander@sony.com> | 2016-12-08 22:09:51 -0500 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2016-12-19 09:07:37 -0500 |
| commit | c70d5f70ccbbdf56bb86adb42127db90d0c90976 (patch) | |
| tree | d725a2a2bfdfd5eb5e43ea37c9096c445b4a0e63 | |
| parent | 2b6579d4a71afb19c6583470783371b992944f67 (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.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) | |||
| 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); |
