Messages in this thread | | | Subject | Re: [PATCH v2 3/5] net: dsa: complete dsa_switch_destroy | From | Florian Fainelli <> | Date | Sat, 3 Oct 2015 13:25:19 -0700 |
| |
Le 03/10/2015 07:26, Neil Armstrong a écrit : > When unbinding dsa, complete the dsa_switch_destroy to unregister the > fixed link phy then cleanly unregister and destroy the net devices. > > Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> > ---
[snip]
> + port_dn = cd->port_dn[port]; > + if (of_phy_is_fixed_link(port_dn)) { > + phydev = of_phy_find_device(port_dn); > + if (phydev) { > + int addr = phydev->addr; > + phy_device_free(phydev); > + of_node_put(port_dn); > + fixed_phy_del(addr);
fixed_phy_del() removes the fixed PHY from the platform fixed MDIO bus list of PHYs, so we should be okay even with switch drivers which register a link_update callback via fixed_phy_set_link_update(), but I have not checked that. The sequence of call looks (phy_device_free then fixed_phy_del) looks sane though.
Eventually this logic might be better moved into net/dsa/slave.c such that it is easy to see how it balances dsa_slave_phy_setup().
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> -- Florian
| |