Browse Source

sfc: fix a timeout loop

We test for if "tries" is zero at the end but "tries--" is a post-op so
it will end with "tries" set to -1.  I have changed it to a pre-op
instead.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Dan Carpenter 9 years ago
parent
commit
fe0be35e2c
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/net/ethernet/sfc/txc43128_phy.c

+ 1 - 1
drivers/net/ethernet/sfc/txc43128_phy.c

@@ -418,7 +418,7 @@ static void txc_reset_logic_mmd(struct efx_nic *efx, int mmd)
 
 
 	val |= (1 << TXC_GLCMD_LMTSWRST_LBN);
 	val |= (1 << TXC_GLCMD_LMTSWRST_LBN);
 	efx_mdio_write(efx, mmd, TXC_GLRGS_GLCMD, val);
 	efx_mdio_write(efx, mmd, TXC_GLRGS_GLCMD, val);
-	while (tries--) {
+	while (--tries) {
 		val = efx_mdio_read(efx, mmd, TXC_GLRGS_GLCMD);
 		val = efx_mdio_read(efx, mmd, TXC_GLRGS_GLCMD);
 		if (!(val & (1 << TXC_GLCMD_LMTSWRST_LBN)))
 		if (!(val & (1 << TXC_GLCMD_LMTSWRST_LBN)))
 			break;
 			break;