On 10/29/2015 03:00 PM, Andrew Lunn wrote:
On Thu, Oct 29, 2015 at 02:23:25PM +0100, Neil Armstrong wrote:
quoted
+ netif_carrier_off(ds->ports[port]);
unregister_netdev(ds->ports[port]);
+ phy_disconnect(p->phy);
free_netdev(ds->ports[port]);
}
Once you make it actually compile....
I'm not sure this is safe. The loop above this one has just destroyed
some phys, and now you are potentially disconnecting a phy you just
destroyed, causing it to be accessed?
I would suggest you first fix the ordering in dsa_switch_destroy()
and then add the missing netif_carrier_off() and phy_disconnect().
Thanks
Andrew
Yes, you are right, I will submit a cleaned up version.
I forgot the fixed phy case actually.
Thanks,
Neil