Skip to contentSkip to conversation

net: dsa: Complete and fix the dsa unbinding

RFC PATCH In review Neil Armstrong 3 participants 5 messages Sep 30, 2015 – Oct 1, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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
#1 lore raw
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: 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
Florian
#2 lore raw
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: 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(-)

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

#3 lore raw

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: 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(-)
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

#4 lore raw
In reply to Florian Fainelli
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: 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(-)

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