]> git.baikalelectronics.ru Git - kernel.git/commit
phy: Don't increment MDIO bus refcount unless it's a different owner
authorFlorian Fainelli <f.fainelli@gmail.com>
Wed, 7 Dec 2016 04:54:43 +0000 (20:54 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 Dec 2016 18:27:14 +0000 (13:27 -0500)
commitbdcadec5433117a97f68492adb7c5721ee26a37a
treeabd95e56d38d8c2e4ab6c83b3391896291365bf5
parente8c6972ff7db99fc0ad98accf9d8a0d54c20bdcc
phy: Don't increment MDIO bus refcount unless it's a different owner

Commit 2a4b2f490295 ("phy: fix mdiobus module safety") fixed the way we
dealt with MDIO bus module reference count, but sort of introduced a
regression in that, if an Ethernet driver registers its own MDIO bus
driver, as is common, we will end up with the Ethernet driver's
module->refnct set to 1, thus preventing this driver from any removal.

Fix this by comparing the network device's device driver owner against
the MDIO bus driver owner, and only if they are different, increment the
MDIO bus module refcount.

Fixes: 2a4b2f490295 ("phy: fix mdiobus module safety")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy_device.c