Thread (3 messages) 3 messages, 2 authors, 2015-10-06

Re: [PATCH v2 3/5] net: dsa: complete dsa_switch_destroy

From: Florian Fainelli <f.fainelli@gmail.com>
Date: 2015-10-03 20:25:24
Also in: lkml

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 <redacted>
---
[snip]
quoted hunk ↗ jump to hunk
+		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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help