Explorar o código

net: ethernet: renesas: ravb_main: test clock rate to avoid division by 0

The clk API may return 0 on clk_get_rate, so we should check the result before
using it as a divisor.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Wolfram Sang %!s(int64=9) %!d(string=hai) anos
pai
achega
a6d37131c0
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      drivers/net/ethernet/renesas/ravb_main.c

+ 3 - 0
drivers/net/ethernet/renesas/ravb_main.c

@@ -1691,6 +1691,9 @@ static int ravb_set_gti(struct net_device *ndev)
 	rate = clk_get_rate(clk);
 	clk_put(clk);
 
+	if (!rate)
+		return -EINVAL;
+
 	inc = 1000000000ULL << 20;
 	do_div(inc, rate);