]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: phy: initialise phydev speed and duplex sanely
authorRussell King <rmk+kernel@armlinux.org.uk>
Fri, 22 Nov 2019 15:23:23 +0000 (15:23 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Dec 2019 15:45:47 +0000 (16:45 +0100)
[ Upstream commit a5d66f810061e2dd70fb7a108dcd14e535bc639f ]

When a phydev is created, the speed and duplex are set to zero and
-1 respectively, rather than using the predefined SPEED_UNKNOWN and
DUPLEX_UNKNOWN constants.

There is a window at initialisation time where we may report link
down using the 0/-1 values.  Tidy this up and use the predefined
constants, so debug doesn't complain with:

"Unsupported (update phy-core.c)/Unsupported (update phy-core.c)"

when the speed and duplex settings are printed.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/phy/phy_device.c

index dceedd4ddab3f7174437c74192c6700dcbaf3d01..2bf0fda209a8483371bbfec1a510faaed4ac0c9c 100644 (file)
@@ -596,8 +596,8 @@ struct phy_device *phy_device_create(struct mii_bus *bus, int addr, u32 phy_id,
        mdiodev->device_free = phy_mdio_device_free;
        mdiodev->device_remove = phy_mdio_device_remove;
 
-       dev->speed = 0;
-       dev->duplex = -1;
+       dev->speed = SPEED_UNKNOWN;
+       dev->duplex = DUPLEX_UNKNOWN;
        dev->pause = 0;
        dev->asym_pause = 0;
        dev->link = 0;