[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210920214209.1733768-1-vladimir.oltean@nxp.com>
Date: Tue, 21 Sep 2021 00:42:07 +0300
From: Vladimir Oltean <vladimir.oltean@....com>
To: netdev@...r.kernel.org
Cc: Linus Walleij <linus.walleij@...aro.org>,
Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Vladimir Oltean <olteanv@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Bartosz Golaszewski <bgolaszewski@...libre.com>,
Wolfram Sang <wsa@...nel.org>, linux-i2c@...r.kernel.org,
Mark Brown <broonie@...nel.org>, linux-spi@...r.kernel.org,
Alvin Šipraga <alsi@...g-olufsen.dk>,
Lino Sanfilippo <LinoSanfilippo@....de>
Subject: [PATCH net 0/2] Fix mdiobus users with devres
Commit ac3a68d56651 ("net: phy: don't abuse devres in
devm_mdiobus_register()") by Bartosz Golaszewski has introduced two
classes of potential bugs by making the devres callback of
devm_mdiobus_alloc stop calling mdiobus_unregister.
The exact buggy circumstances are presented in the individual commit
messages. I have searched the tree for other occurrences, but at the
moment:
- for issue (a) I have no concrete proof that other buses except SPI and
I2C suffer from it, and the only SPI or I2C device drivers that call
of_mdiobus_alloc are the DSA drivers that leave a NULL
ds->slave_mii_bus and a non-NULL ds->ops->phy_read, aka ksz9477,
ksz8795, lan9303_i2c, vsc73xx-spi.
- for issue (b), all drivers which call of_mdiobus_alloc either use
of_mdiobus_register too, or call mdiobus_unregister sometime within
the ->remove path.
Although at this point I've seen enough strangeness caused by this
"device_del during ->shutdown" that I'm just going to copy the SPI and
I2C subsystem maintainers to this patch series, to get their feedback
whether they've had reports about things like this before. I don't think
other buses behave in this way, it forces SPI and I2C devices to have to
protect themselves from a really strange set of issues.
Vladimir Oltean (2):
net: dsa: don't allocate the slave_mii_bus using devres
net: dsa: realtek: register the MDIO bus under devres
drivers/net/dsa/realtek-smi-core.c | 2 +-
net/dsa/dsa2.c | 12 +++++++++---
2 files changed, 10 insertions(+), 4 deletions(-)
--
2.25.1
Powered by blists - more mailing lists