summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroel kluin <roel.kluin@gmail.com>2009-12-27 11:22:08 +0000
committerDavid S. Miller <davem@davemloft.net>2010-01-03 21:42:50 -0800
commitc064efca9211d12bb9e6de8718fc39884eb883f2 (patch)
tree08bbd1373039d5a3466e72a4d079ee63af14a076
parentce739b473ce12d5ef067b39b8637bfd2b2174a15 (diff)
downloadop-kernel-dev-c064efca9211d12bb9e6de8718fc39884eb883f2.zip
op-kernel-dev-c064efca9211d12bb9e6de8718fc39884eb883f2.tar.gz
usbnet: test off by one
With `while (i++ < MII_TIMEOUT)' i reaches MII_TIMEOUT + 1 after the loop This is probably unlikely a problem in practice. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/usb/rtl8150.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c
index f14d225..fd19db0 100644
--- a/drivers/net/usb/rtl8150.c
+++ b/drivers/net/usb/rtl8150.c
@@ -270,7 +270,7 @@ static int read_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 * reg)
get_registers(dev, PHYCNT, 1, data);
} while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT));
- if (i < MII_TIMEOUT) {
+ if (i <= MII_TIMEOUT) {
get_registers(dev, PHYDAT, 2, data);
*reg = data[0] | (data[1] << 8);
return 0;
@@ -295,7 +295,7 @@ static int write_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 reg)
get_registers(dev, PHYCNT, 1, data);
} while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT));
- if (i < MII_TIMEOUT)
+ if (i <= MII_TIMEOUT)
return 0;
else
return 1;
OpenPOWER on IntegriCloud