net: dsa: Complete and fix the dsa unbinding
Subsystems (2)
cover net: dsa: Complete and fix the dsa unbinding
In order to cleanly unbind the dsa core, either as a module removal, or a platform device unbind, switch the allocation the their devm_ counterparts and complete the destroy functions.
The last patch is an experimental way to exit the probe when no switch is found in the discover process.
The patches are based on the current net-next.
Neil Armstrong (3):
net: dsa: Use devm_ prefixed allocations
net: dsa: complete dsa_switch_destroy calls
net: dsa: exit probe if no switch were found
net/dsa/dsa.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 7 deletions(-)
Signature · 1 line
1.9.1
Quoted 8 lines · Neil Armstrong
In order to cleanly unbind the dsa core, either as a module removal, or a platform device unbind, switch the allocation the their
devm_counterparts and complete the destroy functions.The last patch is an experimental way to exit the probe when no switch is found in the discover process.
The patches are based on the current net-next.
I looked at the patches and they bring DSA in a better direction. For future submissions, could you CC people who recently worked on DSA, like Andrew Lunn, Guenter Roeck, Vivien Didelot and myself? We can typically give your patches a try fairly quickly.
In case you are seriously considering making DSA a loadable module, there were an earlier attempt here:
http://comments.gmane.org/gmane.linux.network/345803
Thanks!
Quoted 9 lines
Neil Armstrong (3):
net: dsa: Usedevm_prefixed allocations
net: dsa: completedsa_switch_destroycalls
net: dsa: exit probe if no switch were foundnet/dsa/dsa.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 7 deletions(-)
Signature · 1 line
Florian
Quoted 15 lines · Florian Fainelli
Quoted 8 lines · Neil Armstrong
In order to cleanly unbind the dsa core, either as a module removal, or a platform device unbind, switch the allocation the their
devm_counterparts and complete the destroy functions.The last patch is an experimental way to exit the probe when no switch is found in the discover process.
The patches are based on the current net-next.
I looked at the patches and they bring DSA in a better direction. For future submissions, could you CC people who recently worked on DSA, like Andrew Lunn, Guenter Roeck, Vivien Didelot and myself? We can typically give your patches a try fairly quickly.
Quoted 18 lines
In case you are seriously considering making DSA a loadable module, there were an earlier attempt here:
http://comments.gmane.org/gmane.linux.network/345803
Thanks!
Quoted 9 lines
Neil Armstrong (3):
net: dsa: Usedevm_prefixed allocations
net: dsa: completedsa_switch_destroycalls
net: dsa: exit probe if no switch were foundnet/dsa/dsa.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 7 deletions(-)
Hi All,
Thanks for the tests and reviews.
My first intent is to make dynamic unbind/bind reliable, the reliable loadable module support is a more complex target, but starting with unbind is a simpler start.
Should I re-post with the missing people, the Tested-by & without the RFC tag ?
Regards,
Neil
Hi Neil,
Quoted 34 lines · Neil Armstrong
Quoted 15 lines · Florian Fainelli
Quoted 8 lines · Neil Armstrong
In order to cleanly unbind the dsa core, either as a module removal, or a platform device unbind, switch the allocation the their
devm_counterparts and complete the destroy functions.The last patch is an experimental way to exit the probe when no switch is found in the discover process.
The patches are based on the current net-next.
I looked at the patches and they bring DSA in a better direction. For future submissions, could you CC people who recently worked on DSA, like Andrew Lunn, Guenter Roeck, Vivien Didelot and myself? We can typically give your patches a try fairly quickly.
Quoted 18 lines
In case you are seriously considering making DSA a loadable module, there were an earlier attempt here:
http://comments.gmane.org/gmane.linux.network/345803
Thanks!
Quoted 9 lines
Neil Armstrong (3):
net: dsa: Usedevm_prefixed allocations
net: dsa: completedsa_switch_destroycalls
net: dsa: exit probe if no switch were foundnet/dsa/dsa.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 7 deletions(-)
Quoted 8 lines
Hi All,
Thanks for the tests and reviews.
My first intent is to make dynamic unbind/bind reliable, the reliable loadable module support is a more complex target, but starting with unbind is a simpler start.
Should I re-post with the missing people, the Tested-by & without the RFC tag ?
I didn't take a look at it, but given Florian's feedback, it seems to make sense, so I'd suggest to resend it without the RFC prefix.
If a patch in the serie got a "Tested-by:" or whatever tag, include it when resending, only if you didn't modify this patch in the meantime.
Thanks,
-v
Quoted 15 lines · Florian Fainelli
Quoted 8 lines · Neil Armstrong
In order to cleanly unbind the dsa core, either as a module removal, or a platform device unbind, switch the allocation the their
devm_counterparts and complete the destroy functions.The last patch is an experimental way to exit the probe when no switch is found in the discover process.
The patches are based on the current net-next.
I looked at the patches and they bring DSA in a better direction. For future submissions, could you CC people who recently worked on DSA, like Andrew Lunn, Guenter Roeck, Vivien Didelot and myself? We can typically give your patches a try fairly quickly.
Quoted 18 lines
In case you are seriously considering making DSA a loadable module, there were an earlier attempt here:
http://comments.gmane.org/gmane.linux.network/345803
Thanks!
Quoted 9 lines
Neil Armstrong (3):
net: dsa: Usedevm_prefixed allocations
net: dsa: completedsa_switch_destroycalls
net: dsa: exit probe if no switch were foundnet/dsa/dsa.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 60 insertions(+), 7 deletions(-)
At least, the following patch could be added with no pain to complete my code :
[PATCH net-next 5/8] net: dsa: allow switch drivers to cleanup their resource (http://permalink.gmane.org/gmane.linux.network/345805)
Then, the following patch could be re-proposed :
[PATCH net-next 7/8] net: dsa: bcm_sf2: cleanup resources in remove callback
I should probably also take this part also :
+ dst->master_netdev->dsa_ptr = NULL;
+ /* If we used a tagging format that doesn't have an ethertype
+ * field, make sure that all packets from this point get sent
+ * without the tag and go through the regular receive path.
+ */
+ wmb();
+
Neil