diff options
-rw-r--r-- | drivers/hid/hid-logitech-hidpp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c index 61f9e75c45d2..1a6395d0c2bd 100644 --- a/drivers/hid/hid-logitech-hidpp.c +++ b/drivers/hid/hid-logitech-hidpp.c | |||
@@ -361,12 +361,16 @@ static int hidpp_root_get_protocol_version(struct hidpp_device *hidpp) | |||
361 | CMD_ROOT_GET_PROTOCOL_VERSION, | 361 | CMD_ROOT_GET_PROTOCOL_VERSION, |
362 | NULL, 0, &response); | 362 | NULL, 0, &response); |
363 | 363 | ||
364 | if (ret == 1) { | 364 | if (ret == HIDPP_ERROR_INVALID_SUBID) { |
365 | hidpp->protocol_major = 1; | 365 | hidpp->protocol_major = 1; |
366 | hidpp->protocol_minor = 0; | 366 | hidpp->protocol_minor = 0; |
367 | return 0; | 367 | return 0; |
368 | } | 368 | } |
369 | 369 | ||
370 | /* the device might not be connected */ | ||
371 | if (ret == HIDPP_ERROR_RESOURCE_ERROR) | ||
372 | return -EIO; | ||
373 | |||
370 | if (ret > 0) { | 374 | if (ret > 0) { |
371 | hid_err(hidpp->hid_dev, "%s: received protocol error 0x%02x\n", | 375 | hid_err(hidpp->hid_dev, "%s: received protocol error 0x%02x\n", |
372 | __func__, ret); | 376 | __func__, ret); |