net: hns: Optimise the code in hns_mdio_wait_ready()
authorKejian Yan <yankejian@huawei.com>
Sat, 1 Apr 2017 11:03:44 +0000 (12:03 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Apr 2017 21:48:43 +0000 (14:48 -0700)
This patch fixes the code to clear pclint warning/info.

Reported-by: Ping Zhang <zhangping5@huawei.com>
Signed-off-by: Kejian Yan <yankejian@huawei.com>
Reviewed-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns_mdio.c

index fad1c5b1b9915600b7b4fd456746f60052ccca41..e5221d95afe195583b7496130cf1a544d1b1f97f 100644 (file)
@@ -175,18 +175,20 @@ static int mdio_sc_cfg_reg_write(struct hns_mdio_device *mdio_dev,
 static int hns_mdio_wait_ready(struct mii_bus *bus)
 {
        struct hns_mdio_device *mdio_dev = bus->priv;
+       u32 cmd_reg_value;
        int i;
-       u32 cmd_reg_value = 1;
 
        /* waitting for MDIO_COMMAND_REG 's mdio_start==0 */
        /* after that can do read or write*/
-       for (i = 0; cmd_reg_value; i++) {
+       for (i = 0; i < MDIO_TIMEOUT; i++) {
                cmd_reg_value = MDIO_GET_REG_BIT(mdio_dev,
                                                 MDIO_COMMAND_REG,
                                                 MDIO_CMD_START_B);
-               if (i == MDIO_TIMEOUT)
-                       return -ETIMEDOUT;
+               if (!cmd_reg_value)
+                       break;
        }
+       if ((i == MDIO_TIMEOUT) && cmd_reg_value)
+               return -ETIMEDOUT;
 
        return 0;
 }