From: Johan Hovold Date: Thu, 19 Mar 2015 15:51:09 +0000 (+0100) Subject: greybus: gpio: fix truncated debounce times X-Git-Tag: v4.9-rc1~119^2~378^2~21^2~1668 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c2a66106867343b5c5f017ccc724ba1c1aa9b540;p=uclinux-h8%2Flinux.git greybus: gpio: fix truncated debounce times Fix set_debounce, which silently truncated the time argument to 255us even though we support 16-bit values. Also remove the unnecessary explicit cast when verifying the argument. Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/gpio.c b/drivers/staging/greybus/gpio.c index 458565a7afb8..f75dd40033af 100644 --- a/drivers/staging/greybus/gpio.c +++ b/drivers/staging/greybus/gpio.c @@ -543,9 +543,9 @@ static int gb_gpio_set_debounce(struct gpio_chip *chip, unsigned offset, if (offset >= chip->ngpio) return -EINVAL; - if (debounce > (unsigned int)U16_MAX) + if (debounce > U16_MAX) return -EINVAL; - usec = (u8)debounce; + usec = (u16)debounce; ret = gb_gpio_set_debounce_operation(gb_gpio_controller, (u8)offset, usec); if (ret) ; /* return ret; */