mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
phy: fixed: Fix removal of phys.
The fixed phys delete function simply removed the fixed phy from the internal linked list and freed the memory. It however did not unregister the associated phy device. This meant it was still possible to find the phy device on the mdio bus. Make fixed_phy_del() an internal function and add a fixed_phy_unregister() to unregisters the phy device and then uses fixed_phy_del() to free resources. Modify DSA to use this new API function, so we don't leak phys. Signed-off-by: Andrew Lunn <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
ec777e6b42
commit
5bcbe0f35f
3 changed files with 12 additions and 8 deletions
|
|
@ -447,11 +447,9 @@ static void dsa_switch_destroy(struct dsa_switch *ds)
|
|||
if (of_phy_is_fixed_link(port_dn)) {
|
||||
phydev = of_phy_find_device(port_dn);
|
||||
if (phydev) {
|
||||
int addr = phydev->mdio.addr;
|
||||
|
||||
phy_device_free(phydev);
|
||||
of_node_put(port_dn);
|
||||
fixed_phy_del(addr);
|
||||
fixed_phy_unregister(phydev);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue