]> git.karo-electronics.de Git - linux-beck.git/commitdiff
HID: cp2112: fix gpio-callback error handling
authorJohan Hovold <johan@kernel.org>
Mon, 30 Jan 2017 10:26:39 +0000 (11:26 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2017 07:08:25 +0000 (08:08 +0100)
commit 8e9faa15469ed7c7467423db4c62aeed3ff4cae3 upstream.

In case of a zero-length report, the gpio direction_input callback would
currently return success instead of an errno.

Fixes: 1ffb3c40ffb5 ("HID: cp2112: make transfer buffers DMA capable")
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hid/hid-cp2112.c

index ffc941c40a0fba73a80df806c5f712eb8b817883..e06c1344c9138e1f6bb1ffafa5f22eff11fe7a17 100644 (file)
@@ -206,7 +206,7 @@ static int cp2112_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
 
 exit:
        mutex_unlock(&dev->lock);
-       return ret <= 0 ? ret : -EIO;
+       return ret < 0 ? ret : -EIO;
 }
 
 static void cp2112_gpio_set(struct gpio_chip *chip, unsigned offset, int value)