1
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
adin.c
air_en8811h.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
amd.c
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
bcm7xxx.c
bcm63xx.c
bcm87xx.c
bcm54140.c
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
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
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
mdio-boardinfo.c
mdio-boardinfo.h
mdio-open-alliance.h
mediatek-ge-soc.c
mediatek-ge.c
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
national.c
ncn26000.c
nxp-c45-tja11xx-macsec.c
nxp-c45-tja11xx.c net: Add struct kernel_ethtool_ts_info 2024-07-15 08:02:26 -07:00
nxp-c45-tja11xx.h
nxp-cbtx.c
nxp-tja11xx.c
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
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
sfp.h
smsc.c
spi_ks8995.c
ste10Xp.c
stubs.c
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