sh_eth: simplify sh_eth_check_reset()
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Sun, 18 Feb 2018 15:21:05 +0000 (18:21 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 19 Feb 2018 16:33:57 +0000 (11:33 -0500)
The *while* loop in this function  can be turned into a normal *for* loop.
And getting rid  of the  single return point saves us a few more LoCs...

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/renesas/sh_eth.c

index a197e11..c17654f 100644 (file)
@@ -962,20 +962,16 @@ static void sh_eth_set_default_cpu_data(struct sh_eth_cpu_data *cd)
 
 static int sh_eth_check_reset(struct net_device *ndev)
 {
-       int ret = 0;
-       int cnt = 100;
+       int cnt;
 
-       while (cnt > 0) {
+       for (cnt = 100; cnt > 0; cnt--) {
                if (!(sh_eth_read(ndev, EDMR) & EDMR_SRST_GETHER))
-                       break;
+                       return 0;
                mdelay(1);
-               cnt--;
-       }
-       if (cnt <= 0) {
-               netdev_err(ndev, "Device reset failed\n");
-               ret = -ETIMEDOUT;
        }
-       return ret;
+
+       netdev_err(ndev, "Device reset failed\n");
+       return -ETIMEDOUT;
 }
 
 static int sh_eth_reset(struct net_device *ndev)