Messages in this thread | | | Subject | Re: [PATCH 6/6] net: phy: Stop 'phy-state-machine' and 'phy_change' work on remove | From | Neil Armstrong <> | Date | Wed, 28 Oct 2015 14:54:35 +0100 |
| |
> > void phy_disconnect(struct phy_device *phydev) > > { > > if (phydev->irq > 0) > > phy_stop_interrupts(phydev); > > > > phy_stop_machine(phydev); > > > > phydev->adjust_link = NULL; > > > > phy_detach(phydev); > > } > > And this does not yet get called. It probably needs to be in > dsa_switch_destroy() just before unregister_netdev() of the slave > devices. > > However, the ordering in dsa_switch_destroy() looks wrong. The fixed > phys are destroyed before the slave devices. They should probably be > destroyed after the slave devices, or at least after the > phy_disconnect() is called. > > Andrew >
Andrew, Florian,
Thanks for the review, a call to phy_disconnect was missing in dsa_switch_destroy.
I will post a new patchset with the correct fix, a switch to delayed_work and a separate dsa_slave_destroy function for sake of maintenance ease.
Neil
| |