On Tue, Apr 25, 2017 at 12:56 AM, David Rivshin <drivshin@xxxxxxxxx> wrote: > From: David Rivshin <DRivshin@xxxxxxxxxxx> > > omap_gpio_debounce() does not validate that the requested debounce > is within a range it can handle. Instead it lets the register value > wrap silently, and always returns success. > > This can lead to all sorts of unexpected behavior, such as gpio_keys > asking for a too-long debounce, but getting a very short debounce in > practice. > > Fix this by returning -EINVAL if the requested value does not fit into > the register field. If there is no debounce clock available at all, > return -ENOTSUPP. > > Fixes: e85ec6c3047b ("gpio: omap: fix omap2_set_gpio_debounce") > Cc: <stable@xxxxxxxxxxxxxxx> # 4.3+ > Signed-off-by: David Rivshin <drivshin@xxxxxxxxxxx> > --- > Changes since v1 (https://lkml.org/lkml/2017/3/16/1094): > - Added dev_info() in omap_gpio_debounce() on error. Patch applied with Grygorii's ACK. Yours, Linus Walleij