* [PATCH v2 3/6] net: dsa: cleanup resources upon module removal
@ 2015-10-29 13:23 Neil Armstrong
0 siblings, 0 replies; only message in thread
From: Neil Armstrong @ 2015-10-29 13:23 UTC (permalink / raw)
To: David S. Miller
Cc: Andrew Lunn, Florian Fainelli, Guenter Roeck, vivien.didelot,
Fabian Frederick, Pavel Nakonechny, Joe Perches, netdev,
linux-kernel, Frode Isaksen
Make sure that we unassign the master_netdev dsa_ptr to make the packet
processing go through the regulard Ethernet receive path.
Suggested-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
net/dsa/dsa.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/net/dsa/dsa.c b/net/dsa/dsa.c
index 19cff8f..b2f696c 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -949,6 +949,14 @@ static void dsa_remove_dst(struct dsa_switch_tree *dst)
flush_delayed_work(&dst->link_poll_work);
}
+ 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();
+
for (i = 0; i < dst->pd->nr_chips; i++) {
struct dsa_switch *ds = dst->ds[i];
--
1.9.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2015-10-29 13:23 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-29 13:23 [PATCH v2 3/6] net: dsa: cleanup resources upon module removal Neil Armstrong
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.