linux/drivers/net/phy
Russell King (Oracle) 671154f174 net: phylink: ensure PHY momentary link-fails are handled
Normally, phylib won't notify changes in quick succession. However, as
a result of commit 3e43b903da ("net: phy: Immediately call
adjust_link if only tx_lpi_enabled changes") this is no longer true -
it is now possible that phy_link_down() and phy_link_up() will both
complete before phylink's resolver has run, which means it'll miss that
pl->phy_state.link momentarily became false.

Rename "mac_link_dropped" to be more generic "link_failed" since it will
cover more than the MAC/PCS end of the link failing, and arrange to set
this in phylink_phy_change() if we notice that the PHY reports that the
link is down.

This will ensure that we capture an EEE reconfiguration event.

Fixes: 3e43b903da ("net: phy: Immediately call adjust_link if only tx_lpi_enabled changes")
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://patch.msgid.link/E1tAtcW-002RBS-LB@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-11-13 18:52:54 -08:00
..
aquantia net: phy: aquantia: remove usage of phy_set_max_speed 2024-10-03 16:16:03 -07:00
mscc move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
qcom net: phy: qca83xx: use PHY_ID_MATCH_EXACT 2024-09-06 18:23:08 -07:00
adin1100.c net: phy: adin1100: Add interrupt support for link change 2024-01-31 16:22:29 -08:00
adin.c net: phy: adin: allow control of Fast Link Down 2023-11-29 19:49:38 -08:00
air_en8811h.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
amd.c net: phy: amd: Support the Altima AMI101L 2023-10-03 11:44:09 +02:00
ax88796b_rust.rs rust: net::phy unified read/write API for C22 and C45 registers 2024-08-30 10:27:35 +01: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: extend PHY package API to support multiple global address 2023-12-17 20:10:07 +00:00
bcm84881.c net: phy: bcm84881: Fix some error handling paths 2024-10-04 16:19:00 -07:00
bcm-cygnus.c
bcm-phy-lib.c net: phy: bcm-phy-lib: Implement BroadR-Reach link modes 2024-07-14 20:38:35 -07:00
bcm-phy-lib.h net: phy: bcm-phy-lib: Implement BroadR-Reach link modes 2024-07-14 20:38:35 -07:00
bcm-phy-ptp.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
broadcom.c net: phy: bcm-phy-lib: Implement BroadR-Reach link modes 2024-07-14 20:38:35 -07:00
cicada.c
cortina.c
davicom.c
dp83tc811.c
dp83td510.c phy: dp83td510: Utilize ALCD for cable length measurement when link is active 2024-08-26 09:33:58 -07:00
dp83tg720.c net: phy: dp83tg720: Add cable testing support 2024-08-16 10:16:26 -07:00
dp83640_reg.h
dp83640.c net: Add struct kernel_ethtool_ts_info 2024-07-15 08:02:26 -07:00
dp83822.c net: phy: dp83822: Fix reset pin definitions 2024-10-19 16:14:21 -05:00
dp83848.c net: phy: ti: add PHY_RST_AFTER_CLK_EN flag 2024-11-05 17:46:03 -08:00
dp83867.c net: phy: dp83867: Add support for active-low LEDs 2024-02-02 10:12:21 +00:00
dp83869.c net: phy: dp83869: fix memory corruption when enabling fiber 2024-10-03 15:39:47 -07:00
et1011c.c
fixed_phy.c
icplus.c
intel-xway.c
Kconfig net: phy: add Applied Micro QT2025 PHY driver 2024-08-30 10:27:35 +01:00
linkmode.c
lxt.c
Makefile net: phy: add Applied Micro QT2025 PHY driver 2024-08-30 10:27:35 +01:00
marvell10g.c net: phy: add helpers to handle sfp phy connect/disconnect 2024-08-23 13:04:34 +01:00
marvell-88q2xxx.c net: phy: marvell-88q2xxx: add support for Rev B1 and B2 2024-05-08 12:18:25 +01:00
marvell-88x2222.c net: phy: add helpers to handle sfp phy connect/disconnect 2024-08-23 13:04:34 +01:00
marvell.c net: phy: add helpers to handle sfp phy connect/disconnect 2024-08-23 13:04:34 +01:00
mdio_bus.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
mdio_device.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
mdio_devres.c net: fill in MODULE_DESCRIPTION()s for mdio_devres 2024-02-15 08:03:46 -08:00
mdio-boardinfo.c
mdio-boardinfo.h
mdio-open-alliance.h
mediatek-ge-soc.c net: phy: mediatek-ge-soc: follow netdev LED trigger semantics 2024-04-24 11:50:49 +01:00
mediatek-ge.c net: phy: mediatek-ge: do not disable EEE advertisement 2024-04-17 10:44:20 +01:00
meson-gxl.c
micrel.c net: phy: micrel: Fix the KSZ9131 MDI-X status issue 2024-07-30 15:10:53 -07:00
microchip_t1.c net: phy: microchip_t1: Cable Diagnostics for lan887x 2024-09-11 20:21:07 -07:00
microchip_t1s.c net: phy: microchip_t1s: add c45 direct access in LAN865x internal PHY 2024-09-11 20:53:44 -07:00
microchip.c net: phy: microchip: lan937x: add support for 100BaseTX PHY 2024-07-09 15:12:04 +02:00
mii_timestamper.c
motorcomm.c net: phy: Add driver for Motorcomm yt8821 2.5G ethernet phy 2024-09-05 15:21:12 +02:00
mxl-gpy.c net: phy: mxl-gpy: Remove interrupt mask clearing from config_init 2024-06-18 12:04:23 +02:00
national.c
ncn26000.c
nxp-c45-tja11xx-macsec.c net: phy: nxp-c45-tja11xx: implement mdo_insert_tx_tag 2023-12-27 13:08:10 +00:00
nxp-c45-tja11xx.c net: Add struct kernel_ethtool_ts_info 2024-07-15 08:02:26 -07:00
nxp-c45-tja11xx.h net: phy: nxp-c45-tja11xx: add MACsec support 2023-12-27 13:08:10 +00:00
nxp-cbtx.c
nxp-tja11xx.c net: Convert some ethtool_sprintf() to ethtool_puts() 2023-12-08 10:56:25 +00:00
open_alliance_helpers.c phy: Add Open Alliance helpers for the PHY framework 2024-08-16 10:16:26 -07:00
open_alliance_helpers.h phy: Add Open Alliance helpers for the PHY framework 2024-08-16 10:16:26 -07:00
phy_device.c net: phy: Remove LED entry from LEDs list on unregister 2024-10-07 17:15:50 -07:00
phy_led_triggers.c
phy_link_topology.c net: phy: Introduce ethernet link topology representation 2024-08-23 13:04:34 +01:00
phy-c45.c net: phy: Immediately call adjust_link if only tx_lpi_enabled changes 2024-03-05 19:21:17 -08:00
phy-core.c net: phy: bcm54811: New link mode for BroadR-Reach 2024-07-14 20:38:34 -07:00
phy.c net: phy: Check for read errors in SIOCGMIIREG 2024-09-04 17:01:21 -07:00
phylink.c net: phylink: ensure PHY momentary link-fails are handled 2024-11-13 18:52:54 -08:00
qsemi.c
qt2025.rs net: phy: qt2025: Fix warning: unused import DeviceId 2024-10-02 17:44:00 -07:00
realtek.c net: phy: realtek: Fix MMD access on RTL8126A-integrated PHY 2024-10-09 12:43:46 +01:00
rockchip.c
sfp-bus.c net: sfp: Add helper to return the SFP bus name 2024-08-23 13:04:34 +01:00
sfp.c net: sfp: Always call sfp_sm_mod_remove() on remove 2024-06-06 17:34:03 -07:00
sfp.h net: sfp: Remove unused function declaration sfp_link_configure() 2023-08-07 08:53:55 +01:00
smsc.c net: Convert some ethtool_sprintf() to ethtool_puts() 2023-12-08 10:56:25 +00: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 net: phy: vitesse: implement MDI-X configuration in vsc73xx 2024-08-27 14:26:49 -07:00
xilinx_gmii2rgmii.c net: phy: xilinx-gmii2rgmii: Adopt clock support 2024-05-29 13:10:57 +01:00