Skip to content

Commit

Permalink
net/phy: micrel: fix bugged test on device tree loading for ksz9021
Browse files Browse the repository at this point in the history
In ksz9021_load_values_from_of() val2 to val4 aren't tested against their
initialization value.
This causes the test to always succeed, and this value to be used as if it
was loaded from the devicetree instead of being ignored, in case of a
missing/invalid property in the ethernet OF device node.
As a result, the value "0" is written to the relevant registers.

Change the conditions to test against the right initialization value.

Signed-off-by: Hubert Chaumette <hchaumette@adeneo-embedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Hubert Chaumette authored and David S. Miller committed Apr 23, 2014
1 parent 6a51b5e commit 6a11974
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/net/phy/micrel.c
Original file line number Diff line number Diff line change
Expand Up @@ -246,13 +246,13 @@ static int ksz9021_load_values_from_of(struct phy_device *phydev,
if (val1 != -1)
newval = ((newval & 0xfff0) | ((val1 / PS_TO_REG) & 0xf) << 0);

if (val2 != -1)
if (val2 != -2)
newval = ((newval & 0xff0f) | ((val2 / PS_TO_REG) & 0xf) << 4);

if (val3 != -1)
if (val3 != -3)
newval = ((newval & 0xf0ff) | ((val3 / PS_TO_REG) & 0xf) << 8);

if (val4 != -1)
if (val4 != -4)
newval = ((newval & 0x0fff) | ((val4 / PS_TO_REG) & 0xf) << 12);

return kszphy_extended_write(phydev, reg, newval);
Expand Down

0 comments on commit 6a11974

Please sign in to comment.