Subject: [PATCH] netxen: only half timeout waited

From: Roel Kluin <[email-masked]>
Date: Mon, 16 Feb 2009 14:55:22 +0100

Only half the timeout was waited, due to the double increment, and an error
occurred one too early.

Signed-off-by: Roel Kluin <[email-masked]>
---
diff --git a/drivers/net/netxen/netxen_nic_niu.c b/drivers/net/netxen/netxen_nic_niu.c
index c3b9c83..df3aa08 100644
--- a/drivers/net/netxen/netxen_nic_niu.c
+++ b/drivers/net/netxen/netxen_nic_niu.c
@@ -147,12 +147,11 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
 					  NETXEN_NIU_GB_MII_MGMT_INDICATE(0),
 					  &status, 4))
 			return -EIO;
-		timeout++;
 	} while ((netxen_get_gb_mii_mgmt_busy(status)
 		  || netxen_get_gb_mii_mgmt_notvalid(status))
 		 && (timeout++ < NETXEN_NIU_PHY_WAITMAX));
 
-	if (timeout < NETXEN_NIU_PHY_WAITMAX) {
+	if (timeout <= NETXEN_NIU_PHY_WAITMAX) {
 		if (adapter->hw_read_wx(adapter,
 					  NETXEN_NIU_GB_MII_MGMT_STATUS(0),
 					  readval, 4))
@@ -240,11 +239,10 @@ int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter, long reg,
 					  NETXEN_NIU_GB_MII_MGMT_INDICATE(0),
 					  &status, 4))
 			return -EIO;
-		timeout++;
 	} while ((netxen_get_gb_mii_mgmt_busy(status))
 		 && (timeout++ < NETXEN_NIU_PHY_WAITMAX));
 
-	if (timeout < NETXEN_NIU_PHY_WAITMAX)
+	if (timeout <= NETXEN_NIU_PHY_WAITMAX)
 		result = 0;
 	else
 		result = -EIO;