postfix decrement error in ipw2100_start_adapter(); drivers/net/wireless/ipw2100.c
PATCH 1/1 postfix decrement error in ipw2100_start_adapter(); drivers/net/wireless/ipw2100.c
If i reaches zero, the loop ends, but the postfix decrement subtracts it to -1. Testing for 'i == 0', later in the function, will not fulfill its purpose.
Signed-off-by Roel Kluin <[email protected]>
---
drivers/net/wireless/ipw2100.c +1 -1
@@ -1267,7 +1267,7 @@ static int ipw2100_start_adapter(struct ipw2100_priv *priv)IPW2100_INTA_FATAL_ERROR | IPW2100_INTA_PARITY_ERROR); } - }while (i--); + }while (--i);/* Clear out any pending INTAs since we aren't supposed to have * interrupts enabled at this point... */
Quoted 6 lines · Roel Kluin
If i reaches zero, the loop ends, but the postfix decrement subtracts it to -1.
Testing for 'i == 0', later in the function, will not fulfill its purpose.Signed-off-by Roel Kluin <[email protected]>
Acked-by Zhu Yi <[email protected]>
Thanks,
-yi
It appears there was another. The patch below includes both fixes. --
If i reaches zero, the loop ends, but the postfix decrement subtracts it to -1. Testing for 'i == 0', later in the function, will not fulfill its purpose.
Signed-off-by Roel Kluin <[email protected]>
---
drivers/net/wireless/ipw2100.c +2 -2
@@ -1267,7 +1267,7 @@ static int ipw2100_start_adapter(struct ipw2100_priv *priv)IPW2100_INTA_FATAL_ERROR | IPW2100_INTA_PARITY_ERROR); } - }while (i--); + }while (--i);/* Clear out any pending INTAs since we aren't supposed to have * interrupts enabled at this point... */
@@ -1339,7 +1339,7 @@ static int ipw2100_power_cycle_adapter(struct ipw2100_priv *priv)if (reg &IPW_AUX_HOST_RESET_REG_MASTER_DISABLED )break ; - }while (i--); + }while (--i); priv->status &= ~STATUS_RESET_PENDING ;