Message ID | 20240815071651.3645949-5-ye.zhang@rock-chips.com |
---|---|
State | New |
Headers | show |
Series | gpio: rockchip: Update the GPIO driver | expand |
On Thu, Aug 15, 2024 at 9:17 AM Ye Zhang <ye.zhang@rock-chips.com> wrote: > > If the clk_get_rate return '0', it will happen division by zero. > This looks like a backportable fix. Please add a Fixes: tag and move the commit to the first place in the series so that it can be sent for v6.11 and stable already. > Signed-off-by: Ye Zhang <ye.zhang@rock-chips.com> > --- > drivers/gpio/gpio-rockchip.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpio/gpio-rockchip.c b/drivers/gpio/gpio-rockchip.c > index 8949324ed816..03e949b0a344 100644 > --- a/drivers/gpio/gpio-rockchip.c > +++ b/drivers/gpio/gpio-rockchip.c > @@ -212,8 +212,10 @@ static int rockchip_gpio_set_debounce(struct gpio_chip *gc, > if (bank->gpio_type == GPIO_TYPE_V2 && !IS_ERR(bank->db_clk)) { > div_debounce_support = true; > freq = clk_get_rate(bank->db_clk); > + if (!freq) > + return -EINVAL; Newline here. > max_debounce = (GENMASK(23, 0) + 1) * 2 * 1000000 / freq; > - if (debounce > max_debounce) > + if ((unsigned long)debounce > max_debounce) This is a separate change, please put it into a different commit. Bart > return -EINVAL; > > div = debounce * freq; > -- > 2.34.1 >
diff --git a/drivers/gpio/gpio-rockchip.c b/drivers/gpio/gpio-rockchip.c index 8949324ed816..03e949b0a344 100644 --- a/drivers/gpio/gpio-rockchip.c +++ b/drivers/gpio/gpio-rockchip.c @@ -212,8 +212,10 @@ static int rockchip_gpio_set_debounce(struct gpio_chip *gc, if (bank->gpio_type == GPIO_TYPE_V2 && !IS_ERR(bank->db_clk)) { div_debounce_support = true; freq = clk_get_rate(bank->db_clk); + if (!freq) + return -EINVAL; max_debounce = (GENMASK(23, 0) + 1) * 2 * 1000000 / freq; - if (debounce > max_debounce) + if ((unsigned long)debounce > max_debounce) return -EINVAL; div = debounce * freq;
If the clk_get_rate return '0', it will happen division by zero. Signed-off-by: Ye Zhang <ye.zhang@rock-chips.com> --- drivers/gpio/gpio-rockchip.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)