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

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