| From d05b41c478e19dcc3b1383a325e31b1589489925 Mon Sep 17 00:00:00 2001 |
| From: Russell King <rmk+kernel@armlinux.org.uk> |
| Date: Fri, 22 Nov 2019 15:23:23 +0000 |
| Subject: [PATCH] net: phy: initialise phydev speed and duplex sanely |
| |
| commit a5d66f810061e2dd70fb7a108dcd14e535bc639f upstream. |
| |
| 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: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c |
| index ddb4ba3bd70e..9cf8284baf7e 100644 |
| --- a/drivers/net/phy/phy_device.c |
| +++ b/drivers/net/phy/phy_device.c |
| @@ -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; |
| -- |
| 2.7.4 |
| |