smc911x: fix the timeout detection

If timeout is occurred at the while loop above,
the value of 'timeout' is -1, not 0.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
This commit is contained in:
Masahiro Yamada 2013-05-08 21:42:44 +00:00 committed by Tom Rini
parent cc63bb05ef
commit bee0dc2fec

View File

@ -484,7 +484,7 @@ static void smc911x_reset(struct eth_device *dev)
while (timeout-- && while (timeout-- &&
!(smc911x_reg_read(dev, PMT_CTRL) & PMT_CTRL_READY)) !(smc911x_reg_read(dev, PMT_CTRL) & PMT_CTRL_READY))
udelay(10); udelay(10);
if (!timeout) { if (timeout < 0) {
printf(DRIVERNAME printf(DRIVERNAME
": timeout waiting for PM restore\n"); ": timeout waiting for PM restore\n");
return; return;
@ -500,7 +500,7 @@ static void smc911x_reset(struct eth_device *dev)
while (timeout-- && smc911x_reg_read(dev, E2P_CMD) & E2P_CMD_EPC_BUSY) while (timeout-- && smc911x_reg_read(dev, E2P_CMD) & E2P_CMD_EPC_BUSY)
udelay(10); udelay(10);
if (!timeout) { if (timeout < 0) {
printf(DRIVERNAME ": reset timeout\n"); printf(DRIVERNAME ": reset timeout\n");
return; return;
} }