If timeout causes the loop to end, a postfix decrement causes its value to become 4294967295 (unsigned int), not 0.
Signed-off-by: Roel Kluin <[EMAIL PROTECTED]> --- diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index dd18af0..41f3c8f 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c @@ -243,7 +243,7 @@ static void smc911x_reset(struct net_device *dev) do { udelay(10); reg = SMC_GET_PMT_CTRL() & PMT_CTRL_READY_; - } while ( timeout-- && !reg); + } while ( --timeout && !reg); if (timeout == 0) { PRINTK("%s: smc911x_reset timeout waiting for PM restore\n", dev->name); return; - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html