[PATCH v2 net 00/10] Felix DSA driver fixes
From: Vladimir Oltean <vladimir.oltean@nxp.com>
Date: 2021-10-12 11:40:59
This is an assorted collection of fixes for issues seen on the NXP LS1028A switch. - PTP packet drops due to switch congestion result in catastrophic damage to the driver's state - loops are not blocked by STP if using the ocelot-8021q tagger - driver uses the wrong CPU port when two of them are defined in DT - module autoloading is broken* with both tagging protocol drivers (ocelot and ocelot-8021q) *I did notice that a similar fix but for a different driver did get applied to "net-next" instead of "net" despite my deliberate targeting of the branch that goes towards "stable". I don't know why, it is an issue that is really bothering some people. https://patchwork.kernel.org/project/netdevbpf/cover/20210922143726.2431036-1-vladimir.oltean@nxp.com/ Changes in v2: - Stop printing that we aren't going to take TX timestamps if we don't have TX timestamping anyway, and we are just carrying PTP frames for a cascaded DSA switch. - Shorten the deferred xmit kthread name so that it fits the 16 character limit (TASK_COMM_LEN) Vladimir Oltean (10): net: mscc: ocelot: make use of all 63 PTP timestamp identifiers net: mscc: ocelot: avoid overflowing the PTP timestamp FIFO net: mscc: ocelot: warn when a PTP IRQ is raised for an unknown skb net: mscc: ocelot: deny TX timestamping of non-PTP packets net: mscc: ocelot: cross-check the sequence id from the timestamp FIFO with the skb PTP header net: dsa: tag_ocelot: break circular dependency with ocelot switch lib driver net: dsa: tag_ocelot_8021q: break circular dependency with ocelot switch lib net: dsa: felix: purge skb from TX timestamping queue if it cannot be sent net: dsa: tag_ocelot_8021q: fix inability to inject STP BPDUs into BLOCKING ports net: dsa: felix: break at first CPU port during init and teardown drivers/net/dsa/ocelot/felix.c | 149 +++++++++++++++++++++++-- drivers/net/dsa/ocelot/felix.h | 1 + drivers/net/ethernet/mscc/ocelot.c | 103 +++++++++++------ drivers/net/ethernet/mscc/ocelot_net.c | 1 + include/linux/dsa/ocelot.h | 49 ++++++++ include/soc/mscc/ocelot.h | 55 +-------- include/soc/mscc/ocelot_ptp.h | 3 + net/dsa/Kconfig | 4 - net/dsa/tag_ocelot.c | 1 - net/dsa/tag_ocelot_8021q.c | 40 ++++--- 10 files changed, 291 insertions(+), 115 deletions(-) -- 2.25.1