Commit 46578a69 authored by Roel Kluin's avatar Roel Kluin Committed by David S. Miller

net: variables reach -1, but 0 tested

while (timeout--) { ... }

timeout becomes -1 if the loop isn't ended otherwise, not 0.
Signed-off-by: default avatarRoel Kluin <roel.kluin@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0047e5d2
...@@ -60,7 +60,7 @@ int emac_mii_reset_phy(struct mii_phy *phy) ...@@ -60,7 +60,7 @@ int emac_mii_reset_phy(struct mii_phy *phy)
udelay(300); udelay(300);
while (limit--) { while (--limit) {
val = phy_read(phy, MII_BMCR); val = phy_read(phy, MII_BMCR);
if (val >= 0 && (val & BMCR_RESET) == 0) if (val >= 0 && (val & BMCR_RESET) == 0)
break; break;
...@@ -84,7 +84,7 @@ int emac_mii_reset_gpcs(struct mii_phy *phy) ...@@ -84,7 +84,7 @@ int emac_mii_reset_gpcs(struct mii_phy *phy)
udelay(300); udelay(300);
while (limit--) { while (--limit) {
val = gpcs_phy_read(phy, MII_BMCR); val = gpcs_phy_read(phy, MII_BMCR);
if (val >= 0 && (val & BMCR_RESET) == 0) if (val >= 0 && (val & BMCR_RESET) == 0)
break; break;
......
...@@ -220,9 +220,9 @@ static void smc911x_reset(struct net_device *dev) ...@@ -220,9 +220,9 @@ static void smc911x_reset(struct net_device *dev)
/* make sure EEPROM has finished loading before setting GPIO_CFG */ /* make sure EEPROM has finished loading before setting GPIO_CFG */
timeout=1000; timeout=1000;
while ( timeout-- && (SMC_GET_E2P_CMD(lp) & E2P_CMD_EPC_BUSY_)) { while (--timeout && (SMC_GET_E2P_CMD(lp) & E2P_CMD_EPC_BUSY_))
udelay(10); udelay(10);
}
if (timeout == 0){ if (timeout == 0){
PRINTK("%s: smc911x_reset timeout waiting for EEPROM busy\n", dev->name); PRINTK("%s: smc911x_reset timeout waiting for EEPROM busy\n", dev->name);
return; return;
......
...@@ -498,7 +498,7 @@ static void smsc9420_check_mac_address(struct net_device *dev) ...@@ -498,7 +498,7 @@ static void smsc9420_check_mac_address(struct net_device *dev)
static void smsc9420_stop_tx(struct smsc9420_pdata *pd) static void smsc9420_stop_tx(struct smsc9420_pdata *pd)
{ {
u32 dmac_control, mac_cr, dma_intr_ena; u32 dmac_control, mac_cr, dma_intr_ena;
int timeOut = 1000; int timeout = 1000;
/* disable TX DMAC */ /* disable TX DMAC */
dmac_control = smsc9420_reg_read(pd, DMAC_CONTROL); dmac_control = smsc9420_reg_read(pd, DMAC_CONTROL);
...@@ -506,13 +506,13 @@ static void smsc9420_stop_tx(struct smsc9420_pdata *pd) ...@@ -506,13 +506,13 @@ static void smsc9420_stop_tx(struct smsc9420_pdata *pd)
smsc9420_reg_write(pd, DMAC_CONTROL, dmac_control); smsc9420_reg_write(pd, DMAC_CONTROL, dmac_control);
/* Wait max 10ms for transmit process to stop */ /* Wait max 10ms for transmit process to stop */
while (timeOut--) { while (--timeout) {
if (smsc9420_reg_read(pd, DMAC_STATUS) & DMAC_STS_TS_) if (smsc9420_reg_read(pd, DMAC_STATUS) & DMAC_STS_TS_)
break; break;
udelay(10); udelay(10);
} }
if (!timeOut) if (!timeout)
smsc_warn(IFDOWN, "TX DMAC failed to stop"); smsc_warn(IFDOWN, "TX DMAC failed to stop");
/* ACK Tx DMAC stop bit */ /* ACK Tx DMAC stop bit */
...@@ -596,7 +596,7 @@ static void smsc9420_free_rx_ring(struct smsc9420_pdata *pd) ...@@ -596,7 +596,7 @@ static void smsc9420_free_rx_ring(struct smsc9420_pdata *pd)
static void smsc9420_stop_rx(struct smsc9420_pdata *pd) static void smsc9420_stop_rx(struct smsc9420_pdata *pd)
{ {
int timeOut = 1000; int timeout = 1000;
u32 mac_cr, dmac_control, dma_intr_ena; u32 mac_cr, dmac_control, dma_intr_ena;
/* mask RX DMAC interrupts */ /* mask RX DMAC interrupts */
...@@ -617,13 +617,13 @@ static void smsc9420_stop_rx(struct smsc9420_pdata *pd) ...@@ -617,13 +617,13 @@ static void smsc9420_stop_rx(struct smsc9420_pdata *pd)
smsc9420_pci_flush_write(pd); smsc9420_pci_flush_write(pd);
/* wait up to 10ms for receive to stop */ /* wait up to 10ms for receive to stop */
while (timeOut--) { while (--timeout) {
if (smsc9420_reg_read(pd, DMAC_STATUS) & DMAC_STS_RS_) if (smsc9420_reg_read(pd, DMAC_STATUS) & DMAC_STS_RS_)
break; break;
udelay(10); udelay(10);
} }
if (!timeOut) if (!timeout)
smsc_warn(IFDOWN, "RX DMAC did not stop! timeout."); smsc_warn(IFDOWN, "RX DMAC did not stop! timeout.");
/* ACK the Rx DMAC stop bit */ /* ACK the Rx DMAC stop bit */
......
...@@ -148,7 +148,7 @@ static u16 __phy_read(struct gem *gp, int phy_addr, int reg) ...@@ -148,7 +148,7 @@ static u16 __phy_read(struct gem *gp, int phy_addr, int reg)
cmd |= (MIF_FRAME_TAMSB); cmd |= (MIF_FRAME_TAMSB);
writel(cmd, gp->regs + MIF_FRAME); writel(cmd, gp->regs + MIF_FRAME);
while (limit--) { while (--limit) {
cmd = readl(gp->regs + MIF_FRAME); cmd = readl(gp->regs + MIF_FRAME);
if (cmd & MIF_FRAME_TALSB) if (cmd & MIF_FRAME_TALSB)
break; break;
......
...@@ -227,7 +227,7 @@ static int qe_init(struct sunqe *qep, int from_irq) ...@@ -227,7 +227,7 @@ static int qe_init(struct sunqe *qep, int from_irq)
if (!(sbus_readb(mregs + MREGS_PHYCONFIG) & MREGS_PHYCONFIG_LTESTDIS)) { if (!(sbus_readb(mregs + MREGS_PHYCONFIG) & MREGS_PHYCONFIG_LTESTDIS)) {
int tries = 50; int tries = 50;
while (tries--) { while (--tries) {
u8 tmp; u8 tmp;
mdelay(5); mdelay(5);
......
...@@ -1237,7 +1237,7 @@ static void tsi108_init_phy(struct net_device *dev) ...@@ -1237,7 +1237,7 @@ static void tsi108_init_phy(struct net_device *dev)
spin_lock_irqsave(&phy_lock, flags); spin_lock_irqsave(&phy_lock, flags);
tsi108_write_mii(data, MII_BMCR, BMCR_RESET); tsi108_write_mii(data, MII_BMCR, BMCR_RESET);
while (i--){ while (--i) {
if(!(tsi108_read_mii(data, MII_BMCR) & BMCR_RESET)) if(!(tsi108_read_mii(data, MII_BMCR) & BMCR_RESET))
break; break;
udelay(10); udelay(10);
......
...@@ -392,7 +392,7 @@ static void de_rx (struct de_private *de) ...@@ -392,7 +392,7 @@ static void de_rx (struct de_private *de)
unsigned drop = 0; unsigned drop = 0;
int rc; int rc;
while (rx_work--) { while (--rx_work) {
u32 status, len; u32 status, len;
dma_addr_t mapping; dma_addr_t mapping;
struct sk_buff *skb, *copy_skb; struct sk_buff *skb, *copy_skb;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment