On 10/03/2015 09:25 PM, Florian Fainelli wrote:
> 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.
Actually I copied the exact sequence from the fixed link module, eventually 
this should be done in this module with a proper fixed_link_remove function.

> 
> 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>
> 

Thanks for the review,

Neil
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to