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 <narmstr...@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.faine...@gmail.com>
-- 
Florian
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to