summaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>2017-03-27 16:59:32 +0200
committerJiri Kosina <jkosina@suse.cz>2017-04-06 14:36:38 +0200
commita9525b80feb1b6ae40244b16b0558cbdc64f28cd (patch)
tree7e4afaaa44e435672db65a5a16612059d19d42f1 /drivers/hid
parentHID: logitech-hidpp: create the battery for all types of HID++ devices (diff)
downloadlinux-a9525b80feb1b6ae40244b16b0558cbdc64f28cd.tar.xz
linux-a9525b80feb1b6ae40244b16b0558cbdc64f28cd.zip
HID: logitech-hidpp: return an error if the queried feature is not present
Or the device just answers a valid feature '0'. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Tested-by: Bastien Nocera <hadess@hadess.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-logitech-hidpp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c
index 9a9771a31108..22129ddac3ae 100644
--- a/drivers/hid/hid-logitech-hidpp.c
+++ b/drivers/hid/hid-logitech-hidpp.c
@@ -503,6 +503,9 @@ static int hidpp_root_get_feature(struct hidpp_device *hidpp, u16 feature,
if (ret)
return ret;
+ if (response.fap.params[0] == 0)
+ return -ENOENT;
+
*feature_index = response.fap.params[0];
*feature_type = response.fap.params[1];