]> 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:36:15 +0000 (16:36 +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 6144146aec29d01d8fec7ad1149f617da2edcbdc..43c4f358eeb8a83fd745423d510f782b672af979 100644 (file)
@@ -420,8 +420,8 @@ struct phy_device *phy_device_create(struct mii_bus *bus, int addr, int 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;