linux/drivers/net/phy
Bartosz Golaszewski 6e0022b5ae net: phy: aquantia: fix system interface type not updated in forced mode
aqr_gen1_read_status() decodes the MDIO_PHYXS_VEND_IF_STATUS register
to determine which SerDes interface the PHY is currently using on its
system side and stores the result in phydev->interface. phylink relies
on this value to configure the MAC.

The autoneg == AUTONEG_DISABLE check is not correct:
MDIO_PHYXS_VEND_IF_STATUS is set by the PHY firmware based on the
negotiated link speed, not based on whether autoneg was used to reach
it. When the link comes up at 1G in forced mode, the register correctly
reads SGMII, but the early return prevents phydev->interface from being
updated. It stays at whatever value it held before (typically 2500BASE-X
from the initial autoneg run), so phylink configures the MAC for the
wrong interface and the link cannot come up.

Remove the autoneg guard so that the system interface type is always
decoded when the link is up.

Cc: stable@vger.kernel.org
Fixes: 110a2432c5 ("net: phy: aquantia: add downshift support")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260923-qcom-sa8255p-emac-v15-1-e82f33720737@oss.qualcomm.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-10-01 10:15:19 +02:00
..
aquantia net: phy: aquantia: fix system interface type not updated in forced mode 2026-10-01 10:15:19 +02:00
mediatek net: phy: mediatek: do not report link and per-speed LED rules together 2026-09-14 19:01:51 -07:00
mscc Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
qcom net: phy: qcom: at803x: Fix IPQ5018 short-cable DAC values 2026-09-29 18:31:35 -07:00
realtek Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-08-13 11:00:14 -07:00
adin.c net: phy: adin: enable configuration of the LP Termination Register 2026-01-15 19:36:04 -08:00
adin1100.c
adin1140-phy.c net: phy: Add support for the ADIN1140 PHY 2026-07-21 10:53:24 +02:00
air_an8801.c net: phy: air_an8801: ensure maximum available speed link use 2026-05-27 18:39:24 -07:00
air_en8811h.c net: phy: air_en8811h: move LED GPIO configuration to config_init 2026-08-27 11:47:01 +02:00
air_phy_lib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-05-28 14:02:21 -07:00
air_phy_lib.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-05-28 14:02:21 -07:00
amd.c
as21xxx.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ax88796b_rust.rs
ax88796b.c
bcm-cygnus.c
bcm-phy-lib.c net: phy: broadcom: Save PHY counters during suspend 2026-05-07 08:36:47 -07:00
bcm-phy-lib.h net: phy: broadcom: Save PHY counters during suspend 2026-05-07 08:36:47 -07:00
bcm-phy-ptp.c
bcm7xxx.c net: phy: broadcom: Save PHY counters during suspend 2026-05-07 08:36:47 -07:00
bcm63xx.c
bcm87xx.c
bcm54140.c
bcm84881.c net: phy: bcm84881: add LED framework support for BCM84891/BCM84892 2026-04-02 17:59:43 -07:00
broadcom.c net: phy: broadcom: Save PHY counters during suspend 2026-05-07 08:36:47 -07:00
cicada.c
cortina.c
dap8211r.c net: phy: add DAPU Telecom DAP8211R(I) Gigabit Ethernet PHY driver 2026-08-10 15:30:25 -07:00
davicom.c
dp83tc811.c net: phy: DP83TC811: add reading of abilities 2026-05-14 15:17:12 +02:00
dp83td510.c net: phy: dp83td510: handle the active-high LED polarity mode 2026-09-10 08:47:22 -07:00
dp83tg720.c
dp83640_reg.h
dp83640.c net: phy: dp83640: fix per-bus clock lifetime 2026-08-13 17:30:15 -07:00
dp83822.c net: phy: dp83822: Add optional external PHY clock 2026-06-02 11:38:00 -07:00
dp83848.c
dp83867.c net: phy: dp83867: handle the active-high LED polarity mode 2026-09-10 08:02:06 -07:00
dp83869.c net: phy: dp83869: fix setting CLK_O_SEL field. 2026-04-28 15:51:55 +02:00
et1011c.c
fixed_phy.c net: phy: fixed_phy: replace IDA with a bitmap 2026-01-13 18:58:49 -08:00
icplus.c
intel-xway.c net: phy: intel-xway: workaround 100BASE-TX Link-Up issue 2026-09-24 10:21:20 -07:00
Kconfig net: phy: add DAPU Telecom DAP8211R(I) Gigabit Ethernet PHY driver 2026-08-10 15:30:25 -07:00
linkmode.c
lxt.c
Makefile net: phy: add DAPU Telecom DAP8211R(I) Gigabit Ethernet PHY driver 2026-08-10 15:30:25 -07:00
marvell-88q2xxx.c
marvell-88x2222.c net: phy: marvell-88x2222: Support SFP through phy_port interface 2026-01-13 18:52:35 -08:00
marvell.c net: phy: marvell: fix return code 2026-07-20 17:51:46 -07:00
marvell10g.c net: phy: marvell10g: Support SFP through phy_port 2026-01-13 18:52:35 -08:00
mdio_bus_provider.c Networking changes for 7.1. 2026-04-14 18:36:10 -07:00
mdio_bus.c net: phy: move remaining provider code to mdio_bus_provider.c 2026-03-14 12:23:02 -07:00
mdio_device.c net: phy: drop duplicated header include in mdio-device 2026-07-21 08:28:49 -07:00
mdio_devres.c
mdio-open-alliance.h
meson-gxl.c
micrel.c net: phy: micrel: Advance register data pointer in write loop 2026-09-18 17:07:41 -07:00
microchip_rds_ptp.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
microchip_rds_ptp.h
microchip_t1.c net: remove conditional return with no effect 2026-07-30 13:04:03 +02:00
microchip_t1s.c net: phy: microchip-t1s: use generic C45 MMD access helpers 2026-07-21 10:53:24 +02:00
microchip.c net: phy: microchip: enable downshift by default on LAN88xx 2026-04-02 18:03:03 -07:00
mii_timestamper.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
motorcomm.c net: phy: motorcomm: enable the reference clock for YT8521 2026-08-03 17:48:37 -07:00
mxl-86110.c
mxl-gpy.c net: phy: mxl-gpy: add PHY-level statistics via ethtool 2026-03-17 16:07:40 -07:00
national.c
ncn26000.c
nxp-c45-tja11xx-macsec.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
nxp-c45-tja11xx.c
nxp-c45-tja11xx.h
nxp-cbtx.c
nxp-tja11xx.c net: phy: nxp-tja11xx: cancel registration work on remove 2026-08-05 17:50:03 -07:00
open_alliance_helpers.c
open_alliance_helpers.h
phy_caps.c net: ethtool: Add support for 80Gbps speed 2026-01-19 12:09:58 -08:00
phy_device.c net: phy: add generic helpers for direct C45 MMD access 2026-07-21 10:53:24 +02:00
phy_led_triggers.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
phy_link_topology.c net: ethtool: make dev->hwprov ops-protected 2026-06-09 10:13:04 -07:00
phy_package.c net: phy: add PHY package locking helpers 2026-08-13 17:29:53 -07:00
phy_port.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
phy-c45.c net: phy: c45: add setup and read master/slave helpers 2026-07-31 18:22:48 -07:00
phy-caps.h net: ethtool: Add support for 80Gbps speed 2026-01-19 12:09:58 -08:00
phy-core.c net: ethtool: Add support for 80Gbps speed 2026-01-19 12:09:58 -08:00
phy.c net: phy: add a PHY write barrier when disabling interrupts 2026-04-12 14:19:19 -07:00
phylib-internal.h net: phy: move remaining provider code to mdio_bus_provider.c 2026-03-14 12:23:02 -07:00
phylib.h net: phy: add PHY package locking helpers 2026-08-13 17:29:53 -07:00
phylink.c net: phylink: record the PHY only once bringup cannot fail 2026-09-24 09:36:05 -07:00
qsemi.c
qt2025.rs
rockchip.c
sfp-bus.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
sfp.c net: sfp: add quirks for OEM XGSPONST2001 and FS XGS-SFP-ONT-MACI 2026-08-17 13:28:38 -07:00
sfp.h net: sfp: allow prefix matching in quirk lookup 2026-08-17 13:28:38 -07:00
smsc.c
ste10Xp.c
stubs.c
swphy.c
swphy.h
teranetics.c
uPD60620.c
vitesse.c net: phy: vitesse: add inband caps and configuration 2026-03-12 17:55:33 -07:00
xilinx_gmii2rgmii.c