linux/drivers/net/dsa
Vladimir Oltean f5aef42415 net: dsa: sja1105: break dependency between dsa_port_is_sja1105 and switch driver
It's nice to be able to test a tagging protocol with dsa_loop, but not
at the cost of losing the ability of building the tagging protocol and
switch driver as modules, because as things stand, there is a circular
dependency between the two. Tagging protocol drivers cannot depend on
switch drivers, that is a hard fact.

The reasoning behind the blamed patch was that accessing dp->priv should
first make sure that the structure behind that pointer is what we really
think it is.

Currently the "sja1105" and "sja1110" tagging protocols only operate
with the sja1105 switch driver, just like any other tagging protocol and
switch combination. The only way to mix and match them is by modifying
the code, and this applies to dsa_loop as well (by default that uses
DSA_TAG_PROTO_NONE). So while in principle there is an issue, in
practice there isn't one.

Until we extend dsa_loop to allow user space configuration, treat the
problem as a non-issue and just say that DSA ports found by tag_sja1105
are always sja1105 ports, which is in fact true. But keep the
dsa_port_is_sja1105 function so that it's easy to patch it during
testing, and rely on dead code elimination.

Fixes: 994d2cbb08 ("net: dsa: tag_sja1105: be dsa_loop-safe")
Link: https://lore.kernel.org/netdev/20210908220834.d7gmtnwrorhharna@skbuf/
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-09-23 12:45:07 +01:00
..
b53 net: dsa: b53: Drop unused "cpu_port" field 2021-09-16 19:06:36 -07:00
hirschmann Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-08-26 17:57:57 -07:00
microchip net: dsa: microchip: ksz8795: Don't use phy_port_cnt in VLAN table lookup 2021-08-10 09:58:15 +01:00
mv88e6xxx Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-08-26 17:57:57 -07:00
ocelot net: mscc: ocelot: transmit the VLAN filtering restrictions via extack 2021-08-20 14:39:52 +01:00
qca net: dsa: qca: ar9331: make proper initial port defaults 2021-08-07 09:34:35 +01:00
sja1105 net: dsa: sja1105: break dependency between dsa_port_is_sja1105 and switch driver 2021-09-23 12:45:07 +01:00
xrs700x net: dsa: xrs700x: forward HSR supervision frames 2021-06-16 12:17:03 -07:00
bcm_sf2_cfp.c
bcm_sf2_regs.h net: dsa: bcm_sf2: fix BCM4908 RGMII reg(s) 2021-03-18 14:44:05 -07:00
bcm_sf2.c net: dsa: bcm_sf2: Request APD, DLL disable and IDDQ-SR 2021-09-21 10:58:35 +01:00
bcm_sf2.h
dsa_loop_bdinfo.c
dsa_loop.c
dsa_loop.h
Kconfig dsa: simplify Kconfig symbols and dependencies 2021-03-22 12:15:37 -07:00
lan9303_i2c.c
lan9303_mdio.c
lan9303-core.c net: dsa: lan9303: fix broken backpressure in .port_fdb_dump 2021-08-10 13:17:22 +01:00
lan9303.h
lantiq_gswip.c net: dsa: lantiq_gswip: Add 200ms assert delay 2021-09-13 13:01:44 +01:00
lantiq_pce.h
Makefile
mt7530.c net: dsa: mt7530: manually set up VLAN ID 0 2021-08-25 11:09:31 +01:00
mt7530.h net: dsa: mt7530: manually set up VLAN ID 0 2021-08-25 11:09:31 +01:00
mv88e6060.c
mv88e6060.h
qca8k.c net: dsa: qca8k: fix kernel panic with legacy mdio mapping 2021-09-12 10:47:31 +01:00
qca8k.h net: dsa: qca8k: add support for internal phy and internal mdio 2021-05-14 15:30:22 -07:00
realtek-smi-core.c
realtek-smi-core.h
rtl8366.c
rtl8366rb.c
vitesse-vsc73xx-core.c
vitesse-vsc73xx-platform.c
vitesse-vsc73xx-spi.c
vitesse-vsc73xx.h