1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/dsa
Vladimir Oltean 9ffe3d09e3 net: dsa: mt7530: fix kernel bug in mdiobus_free() when unbinding
Nobody in this driver calls mdiobus_unregister(), which is necessary if
mdiobus_register() completes successfully. So if the devres callbacks
that free the mdiobus get invoked (this is the case when unbinding the
driver), mdiobus_free() will BUG if the mdiobus is still registered,
which it is.

My speculation is that this is due to the fact that prior to commit
ac3a68d566 ("net: phy: don't abuse devres in devm_mdiobus_register()")
from June 2020, _devm_mdiobus_free() used to call mdiobus_unregister().
But at the time that the mt7530 support was introduced in May 2021, the
API was already changed. It's therefore likely that the blamed patch was
developed on an older tree, and incorrectly adapted to net-next. This
makes the Fixes: tag correct.

Fix the problem by using the devres variant of mdiobus_register.

Fixes: ba751e28d4 ("net: dsa: mt7530: add interrupt support")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2022-02-08 20:30:35 -08:00
..
b53 net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
hirschmann net: dsa: hellcreek: Add missing PTP via UDP rules 2021-12-14 18:46:29 -08:00
microchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
mv88e6xxx net: dsa: mv88e6xxx: don't use devres for mdiobus 2022-02-08 20:30:33 -08:00
ocelot net: dsa: seville: register the mdiobus under devres 2022-02-08 20:30:35 -08:00
qca net: dsa: ar9331: register the mdiobus under devres 2022-02-08 20:30:34 -08:00
sja1105 flow_offload: add index to flow_action_entry structure 2021-12-19 14:08:47 +00:00
xrs700x net: Don't include filter.h from net/sock.h 2021-12-29 08:48:14 -08:00
bcm_sf2.c net: dsa: bcm_sf2: don't use devres for mdiobus 2022-02-08 20:30:34 -08:00
bcm_sf2.h net: dsa: bcm_sf2: refactor LED regs access 2021-12-30 17:28:32 -08:00
bcm_sf2_cfp.c net: dsa: propagate extack to .port_vlan_add 2021-02-14 17:38:11 -08:00
bcm_sf2_regs.h net: dsa: bcm_sf2: refactor LED regs access 2021-12-30 17:28:32 -08:00
dsa_loop.c net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
dsa_loop.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dsa_loop_bdinfo.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
Kconfig net: dsa: mt7530: make NET_DSA_MT7530 select MEDIATEK_GE_PHY 2022-01-31 21:18:17 -08:00
lan9303-core.c net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
lan9303.h net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
lan9303_i2c.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
lan9303_mdio.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
lantiq_gswip.c net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
lantiq_pce.h net: dsa: Use the correct style for SPDX License Identifier 2019-09-22 15:25:08 -07:00
Makefile net: dsa: realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC 2021-10-18 14:02:56 +01:00
mt7530.c net: dsa: mt7530: fix kernel bug in mdiobus_free() when unbinding 2022-02-08 20:30:35 -08:00
mt7530.h net: dsa: mt7530: manually set up VLAN ID 0 2021-08-25 11:09:31 +01:00
mv88e6060.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
mv88e6060.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
qca8k.c net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
qca8k.h net: dsa: qca8k: add LAG support 2021-11-23 11:53:16 +00:00
realtek-smi-core.c net: dsa: realtek-smi: don't log an error on EPROBE_DEFER 2021-11-29 12:51:37 +00:00
realtek-smi-core.h net: dsa: realtek-smi: add rtl8365mb subdriver for RTL8365MB-VC 2021-10-18 14:02:56 +01:00
rtl8365mb.c net: dsa: rtl8365mb: add GMII as user port mode 2021-12-16 10:51:11 +00:00
rtl8366.c net: dsa: rtl8366: Drop and depromote pointless prints 2021-09-27 16:33:46 +01:00
rtl8366rb.c net: dsa: add a "tx_fwd_offload" argument to ->port_bridge_join 2021-12-08 14:31:16 -08:00
vitesse-vsc73xx-core.c net: dsa: vsc73xxx: Get rid of duplicate of_node assignment 2021-12-03 14:13:02 +00:00
vitesse-vsc73xx-platform.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
vitesse-vsc73xx-spi.c net: dsa: be compatible with masters which unregister on shutdown 2021-09-19 12:08:37 +01:00
vitesse-vsc73xx.h net: dsa: vsc73xxx: Make vsc73xx_remove() return void 2021-11-15 13:15:07 +00:00