linux/drivers/net/phy
Klaus Kudielka 02d5fdbf4f net: phylink: initialize carrier state at creation
Background: Turris Omnia (Armada 385); eth2 (mvneta) connected to SFP bus;
SFP module is present, but no fiber connected, so definitely no carrier.

After booting, eth2 is down, but netdev LED trigger surprisingly reports
link active. Then, after "ip link set eth2 up", the link indicator goes
away - as I would have expected it from the beginning.

It turns out, that the default carrier state after netdev creation is
"carrier ok". Some ethernet drivers explicitly call netif_carrier_off
during probing, others (like mvneta) don't - which explains the current
behaviour: only when the device is brought up, phylink_start calls
netif_carrier_off.

Fix this for all drivers using phylink, by calling netif_carrier_off in
phylink_create.

Fixes: 089381b27a ("leds: initial support for Turris Omnia LEDs")
Cc: stable@vger.kernel.org
Suggested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-11-07 22:32:23 +00:00
..
mscc net: phy: mscc: macsec: reject PN update requests 2023-10-10 10:30:31 +02:00
adin1100.c
adin.c
amd.c net: phy: amd: Support the Altima AMI101L 2023-10-03 11:44:09 +02:00
aquantia_hwmon.c net: phy: aquantia: constify pointers to hwmon_channel_info 2023-04-09 19:02:09 -07:00
aquantia_main.c
aquantia.h
at803x.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-10 14:10:53 -07:00
ax88796b.c net: phy: fix regression with AX88772A PHY driver 2023-09-19 17:03:44 +02:00
bcm7xxx.c net: phy: bcm7xxx: Add missing 16nm EPHY statistics 2023-10-18 18:13:13 -07:00
bcm63xx.c
bcm87xx.c net: phy: fill in missing MODULE_DESCRIPTION()s 2023-11-01 21:50:56 -07:00
bcm54140.c net: phy: bcm54140: constify pointers to hwmon_channel_info 2023-04-09 19:02:09 -07:00
bcm84881.c
bcm-cygnus.c
bcm-phy-lib.c net: phy: broadcom: Add support for setting LED brightness 2023-06-09 10:38:43 +01:00
bcm-phy-lib.h net: phy: broadcom: Add support for setting LED brightness 2023-06-09 10:38:43 +01:00
bcm-phy-ptp.c net: phy: fill in missing MODULE_DESCRIPTION()s 2023-11-01 21:50:56 -07:00
broadcom.c net: phy: broadcom: add support for BCM5221 phy 2023-10-06 16:01:27 -07:00
cicada.c
cortina.c
davicom.c
dp83tc811.c
dp83td510.c net: phy: dp83td510: fix kernel stall during netboot in DP83TD510E PHY driver 2023-06-22 19:43:55 -07:00
dp83640_reg.h
dp83640.c dp83640: Use list_for_each_entry() helper 2023-08-23 09:39:15 +01:00
dp83822.c
dp83848.c
dp83867.c net: phy: dp83867: Add support for hardware blinking LEDs 2023-10-06 11:38:19 +01:00
dp83869.c net: phy: dp83869: support mii mode when rgmii strap cfg is used 2023-05-09 11:57:53 +02:00
et1011c.c
fixed_phy.c
icplus.c
intel-xway.c
Kconfig net: phy: amd: Support the Altima AMI101L 2023-10-03 11:44:09 +02:00
linkmode.c
lxt.c
Makefile net: phy: provide phylib stubs for hardware timestamping operations 2023-08-02 19:11:06 -07:00
marvell10g.c net: phy: marvell10g: fix 88x3310 power up 2023-07-23 11:47:07 +01:00
marvell-88q2xxx.c net: phy: marvell-88q2xxx: add driver for the Marvell 88Q2110 PHY 2023-07-20 12:24:06 +02:00
marvell-88x2222.c net: phy/pcs: Explicitly include correct DT includes 2023-07-26 21:55:37 -07:00
marvell.c net: phy: marvell: Add support for offloading LED blinking 2023-08-10 17:35:00 -07:00
mdio_bus.c net: mdio_bus: validate "addr" for mdiobus_is_registered_device() 2023-07-25 20:07:57 -07:00
mdio_device.c
mdio_devres.c net: mdio: fix owner field for mdio buses registered using device-tree 2023-03-19 10:48:35 +00:00
mdio-boardinfo.c
mdio-boardinfo.h
mdio-open-alliance.h
mediatek-ge-soc.c net: phy: mediatek-ge-soc: support PHY LEDs 2023-08-15 18:57:59 -07:00
mediatek-ge.c net: phy: add driver for MediaTek SoC built-in GE PHYs 2023-06-12 11:55:04 +01:00
meson-gxl.c net: phy: meson-gxl: enable edpd tunable support for G12A internal PHY 2023-04-04 18:56:01 -07:00
micrel.c net: phy: micrel: Fix forced link mode for KSZ886X switches 2023-10-20 11:50:46 +01:00
microchip_t1.c
microchip_t1s.c net: phy: microchip_t1s: add support for Microchip LAN865x Rev.B0 PHYs 2023-05-30 11:49:55 +02:00
microchip.c
mii_timestamper.c
motorcomm.c net: phy: motorcomm: Add pad drive strength cfg support 2023-07-24 10:36:45 +01:00
mxl-gpy.c net: phy: mxl-gpy: extend interrupt fix to all impacted variants 2023-06-01 09:59:36 -07:00
national.c
ncn26000.c
nxp-c45-tja11xx.c net: phy: nxp-c45-tja11xx: reset PCS if the link goes down 2023-08-01 21:06:26 -07:00
nxp-cbtx.c net: phy: add basic driver for NXP CBTX PHY 2023-04-21 20:04:09 -07:00
nxp-tja11xx.c net: phy: tja11xx: replace deprecated strncpy with ethtool_sprintf 2023-10-13 17:23:58 -07:00
phy_device.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-18 12:44:56 -07:00
phy_led_triggers.c
phy-c45.c net: phy: c45: detect the BASE-T1 speed from the ability register 2023-07-20 12:24:06 +02:00
phy-core.c net: phy: Introduce PSGMII PHY interface mode 2023-08-14 08:12:53 +01:00
phy.c net: phy: fix regression with AX88772A PHY driver 2023-09-19 17:03:44 +02:00
phylink.c net: phylink: initialize carrier state at creation 2023-11-07 22:32:23 +00:00
qsemi.c
realtek.c net: phy: realtek: Disable clock on suspend 2023-06-07 09:52:24 +01:00
rockchip.c
sfp-bus.c net: sfp: handle 100G/25G active optical cables in sfp_parse_support 2023-08-19 19:22:14 +01:00
sfp.c net: phy: fill in missing MODULE_DESCRIPTION()s 2023-11-01 21:50:56 -07:00
sfp.h net: sfp: Remove unused function declaration sfp_link_configure() 2023-08-07 08:53:55 +01:00
smsc.c net: phy: smsc: replace deprecated strncpy with ethtool_sprintf 2023-10-16 16:15:00 -07:00
spi_ks8995.c
ste10Xp.c
stubs.c net: phy: provide phylib stubs for hardware timestamping operations 2023-08-02 19:11:06 -07:00
swphy.c
swphy.h
teranetics.c
uPD60620.c
vitesse.c
xilinx_gmii2rgmii.c