diff options
| author | Johan Hovold <johan@kernel.org> | 2017-01-30 05:26:39 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-02-09 02:08:25 -0500 |
| commit | 7396685a1bca323b96fd79b836ae22b7569d7068 (patch) | |
| tree | 67a84f45094a48891f4755c30775dff73a6bd788 /drivers/hid | |
| parent | a18c4584a48931e8048508469bcdb53c6082221a (diff) | |
HID: cp2112: fix gpio-callback error handling
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>
Diffstat (limited to 'drivers/hid')
| -rw-r--r-- | drivers/hid/hid-cp2112.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hid/hid-cp2112.c b/drivers/hid/hid-cp2112.c index ffc941c40a0f..e06c1344c913 100644 --- a/drivers/hid/hid-cp2112.c +++ b/drivers/hid/hid-cp2112.c | |||
| @@ -206,7 +206,7 @@ static int cp2112_gpio_direction_input(struct gpio_chip *chip, unsigned offset) | |||
| 206 | 206 | ||
| 207 | exit: | 207 | exit: |
| 208 | mutex_unlock(&dev->lock); | 208 | mutex_unlock(&dev->lock); |
| 209 | return ret <= 0 ? ret : -EIO; | 209 | return ret < 0 ? ret : -EIO; |
| 210 | } | 210 | } |
| 211 | 211 | ||
| 212 | static void cp2112_gpio_set(struct gpio_chip *chip, unsigned offset, int value) | 212 | static void cp2112_gpio_set(struct gpio_chip *chip, unsigned offset, int value) |
