From: Johan Hovold Date: Mon, 30 Jan 2017 10:26:39 +0000 (+0100) Subject: HID: cp2112: fix gpio-callback error handling X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=7396685a1bca323b96fd79b836ae22b7569d7068;p=linux-beck.git 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 Reviewed-by: Benjamin Tissoires Signed-off-by: Jiri Kosina Signed-off-by: Greg Kroah-Hartman --- 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) 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)