aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/smc911x.c
diff options
context:
space:
mode:
authorRoel Kluin <12o3l@tiscali.nl>2008-04-18 16:50:48 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-04-25 02:08:55 -0400
commitdb2961c5a13562503c82ae306af269fde4fea8f0 (patch)
treefe08d96d6be9245009dba0e6b47aef04502167fb /drivers/net/smc911x.c
parent72abb46101fb5c47a9592914adb221b430ff26bd (diff)
smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt}
When timeout reaches 0 the postfix decrement still subtracts, so the test fails. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Peter Korsgaard <jacmet@sunsite.dk> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/smc911x.c')
-rw-r--r--drivers/net/smc911x.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 8fbc08b73589..4e2800205189 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -244,7 +244,7 @@ static void smc911x_reset(struct net_device *dev)
244 do { 244 do {
245 udelay(10); 245 udelay(10);
246 reg = SMC_GET_PMT_CTRL() & PMT_CTRL_READY_; 246 reg = SMC_GET_PMT_CTRL() & PMT_CTRL_READY_;
247 } while ( timeout-- && !reg); 247 } while (--timeout && !reg);
248 if (timeout == 0) { 248 if (timeout == 0) {
249 PRINTK("%s: smc911x_reset timeout waiting for PM restore\n", dev->name); 249 PRINTK("%s: smc911x_reset timeout waiting for PM restore\n", dev->name);
250 return; 250 return;
@@ -268,7 +268,7 @@ static void smc911x_reset(struct net_device *dev)
268 resets++; 268 resets++;
269 break; 269 break;
270 } 270 }
271 } while ( timeout-- && (reg & HW_CFG_SRST_)); 271 } while (--timeout && (reg & HW_CFG_SRST_));
272 } 272 }
273 if (timeout == 0) { 273 if (timeout == 0) {
274 PRINTK("%s: smc911x_reset timeout waiting for reset\n", dev->name); 274 PRINTK("%s: smc911x_reset timeout waiting for reset\n", dev->name);
@@ -414,7 +414,7 @@ static inline void smc911x_drop_pkt(struct net_device *dev)
414 do { 414 do {
415 udelay(10); 415 udelay(10);
416 reg = SMC_GET_RX_DP_CTRL() & RX_DP_CTRL_FFWD_BUSY_; 416 reg = SMC_GET_RX_DP_CTRL() & RX_DP_CTRL_FFWD_BUSY_;
417 } while ( timeout-- && reg); 417 } while (--timeout && reg);
418 if (timeout == 0) { 418 if (timeout == 0) {
419 PRINTK("%s: timeout waiting for RX fast forward\n", dev->name); 419 PRINTK("%s: timeout waiting for RX fast forward\n", dev->name);
420 } 420 }