aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2018-10-18 04:37:30 +0000
committerxiphon <xiphon@protonmail.com>2018-10-18 07:42:29 +0300
commit825d836f9f6ee724cf5b44ce720ad0bc26730ba0 (patch)
treedda02fd8177adc59dd1d4b44f9bfa075a1dc1983
parentMerge pull request #4610 (diff)
downloadmonero-825d836f9f6ee724cf5b44ce720ad0bc26730ba0.tar.xz
device: fixed Ledger Nano S device selection
-rw-r--r--src/device/device_io_hid.cpp6
-rw-r--r--src/device/device_io_hid.hpp6
2 files changed, 6 insertions, 6 deletions
diff --git a/src/device/device_io_hid.cpp b/src/device/device_io_hid.cpp
index 562aca8b8..0296914e1 100644
--- a/src/device/device_io_hid.cpp
+++ b/src/device/device_io_hid.cpp
@@ -72,7 +72,7 @@ namespace hw {
this->connect(p->vid, p->pid, p->interface_number, p->usage_page, p->interface_OR_page);
}
- void device_io_hid::connect(unsigned int vid, unsigned int pid, unsigned int interface_number, unsigned int usage_page, bool interface_OR_page ) {
+ void device_io_hid::connect(unsigned int vid, unsigned int pid, int interface_number, unsigned short usage_page, bool interface_OR_page ) {
hid_device_info *hwdev_info, *hwdev_info_list;
hid_device *hwdev;
@@ -83,8 +83,8 @@ namespace hw {
hwdev = NULL;
hwdev_info = hwdev_info_list;
while (hwdev_info) {
- if ((interface_OR_page && ((usage_page == 0xffa0) || (interface_number == 0))) ||
- ((usage_page == 0xffa0) && (interface_number == 0)) ) {
+ if ((interface_OR_page && ((hwdev_info->usage_page == usage_page) || (hwdev_info->interface_number == interface_number))) ||
+ ((hwdev_info->usage_page == usage_page) && (hwdev_info->interface_number == interface_number))) {
MDEBUG("HID Device found: " << safe_hid_path(hwdev_info));
hwdev = hid_open_path(hwdev_info->path);
break;
diff --git a/src/device/device_io_hid.hpp b/src/device/device_io_hid.hpp
index 6fd15a1d1..ffd3f534f 100644
--- a/src/device/device_io_hid.hpp
+++ b/src/device/device_io_hid.hpp
@@ -52,8 +52,8 @@ namespace hw {
struct hid_conn_params {
unsigned int vid;
unsigned int pid;
- unsigned int interface_number;
- unsigned int usage_page;
+ int interface_number;
+ unsigned short usage_page;
bool interface_OR_page ;
};
@@ -100,7 +100,7 @@ namespace hw {
void init();
void connect(void *params);
- void connect(unsigned int vid, unsigned int pid, unsigned int interface_number, unsigned int usage_page, bool interface_OR_page );
+ void connect(unsigned int vid, unsigned int pid, int interface_number, unsigned short usage_page, bool interface_OR_page );
bool connected() const;
int exchange(unsigned char *command, unsigned int cmd_len, unsigned char *response, unsigned int max_resp_len);
void disconnect();