Messages in this thread | | | Subject | Re: [PATCH v2 5/6] net: dsa: add missing calls in dsa_switch_destroy | From | Neil Armstrong <> | Date | Thu, 29 Oct 2015 15:06:35 +0100 |
| |
On 10/29/2015 03:00 PM, Andrew Lunn wrote: > On Thu, Oct 29, 2015 at 02:23:25PM +0100, Neil Armstrong wrote: >> >> + 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
| |