mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 12:43:55 +08:00
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>
This commit is contained in:
parent
ce739b473c
commit
c064efca92
@ -270,7 +270,7 @@ static int read_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 * reg)
|
|||||||
get_registers(dev, PHYCNT, 1, data);
|
get_registers(dev, PHYCNT, 1, data);
|
||||||
} while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT));
|
} while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT));
|
||||||
|
|
||||||
if (i < MII_TIMEOUT) {
|
if (i <= MII_TIMEOUT) {
|
||||||
get_registers(dev, PHYDAT, 2, data);
|
get_registers(dev, PHYDAT, 2, data);
|
||||||
*reg = data[0] | (data[1] << 8);
|
*reg = data[0] | (data[1] << 8);
|
||||||
return 0;
|
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);
|
get_registers(dev, PHYCNT, 1, data);
|
||||||
} while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT));
|
} while ((data[0] & PHY_GO) && (i++ < MII_TIMEOUT));
|
||||||
|
|
||||||
if (i < MII_TIMEOUT)
|
if (i <= MII_TIMEOUT)
|
||||||
return 0;
|
return 0;
|
||||||
else
|
else
|
||||||
return 1;
|
return 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user