linux-stable/drivers/net/phy
Christian Marangi f50b5d74c6 net: phy: Remove LED entry from LEDs list on unregister
Commit c938ab4da0 ("net: phy: Manual remove LEDs to ensure correct
ordering") correctly fixed a problem with using devm_ but missed
removing the LED entry from the LEDs list.

This cause kernel panic on specific scenario where the port for the PHY
is torn down and up and the kmod for the PHY is removed.

On setting the port down the first time, the assosiacted LEDs are
correctly unregistered. The associated kmod for the PHY is now removed.
The kmod is now added again and the port is now put up, the associated LED
are registered again.
On putting the port down again for the second time after these step, the
LED list now have 4 elements. With the first 2 already unregistered
previously and the 2 new one registered again.

This cause a kernel panic as the first 2 element should have been
removed.

Fix this by correctly removing the element when LED is unregistered.

Reported-by: Daniel Golle <daniel@makrotopia.org>
Tested-by: Daniel Golle <daniel@makrotopia.org>
Cc: stable@vger.kernel.org
Fixes: c938ab4da0 ("net: phy: Manual remove LEDs to ensure correct ordering")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20241004182759.14032-1-ansuelsmth@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-10-07 17:15:50 -07: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 NULL pointer dereference on DP83825 devices 2024-09-10 16:20:15 -07:00
dp83848.c
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 drivers/net/phy: add helpers to get/set PLCA configuration 2023-01-11 08:35:02 +00:00
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 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 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 drivers/net/phy: add driver for the onsemi NCN26000 10BASE-T1S PHY 2023-01-11 08:35:03 +00:00
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 net: phy: add basic driver for NXP CBTX PHY 2023-04-21 20:04:09 -07:00
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: Add phylink_set_fixed_link() to configure fixed link state in phylink 2024-09-11 11:06:11 +01: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: Check the index value in led_hw_control_get 2024-10-02 17:24:56 -07: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 net: phy: ks8995: drop of_match_ptr for ID table 2023-03-15 08:11:02 +00:00
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