mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
phy: fixed_phy: Set supported speed in phydev
Set the supported field of the phydev to indicate the speed features of the phy. If the phy is never attached to a netdev, but used in an adjust_link() function, the speed will be incorrectly evaluated to 10/half rather than the correct speed/duplex. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
dea870242a
commit
34b31da486
1 changed files with 12 additions and 0 deletions
|
@ -305,6 +305,18 @@ struct phy_device *fixed_phy_register(unsigned int irq,
|
|||
phy->dev.of_node = np;
|
||||
phy->is_pseudo_fixed_link = true;
|
||||
|
||||
switch (status->speed) {
|
||||
case SPEED_1000:
|
||||
phy->supported = PHY_1000BT_FEATURES;
|
||||
break;
|
||||
case SPEED_100:
|
||||
phy->supported = PHY_100BT_FEATURES;
|
||||
break;
|
||||
case SPEED_10:
|
||||
default:
|
||||
phy->supported = PHY_10BT_FEATURES;
|
||||
}
|
||||
|
||||
ret = phy_device_register(phy);
|
||||
if (ret) {
|
||||
phy_device_free(phy);
|
||||
|
|
Loading…
Reference in a new issue