lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20220103190803.pjqcoekzjwvqerp5@skbuf> Date: Mon, 3 Jan 2022 21:08:03 +0200 From: Vladimir Oltean <olteanv@...il.com> To: Luiz Angelo Daros de Luca <luizluca@...il.com> Cc: netdev@...r.kernel.org, linus.walleij@...aro.org, andrew@...n.ch, vivien.didelot@...il.com, f.fainelli@...il.com, alsi@...g-olufsen.dk, arinc.unal@...nc9.com, frank-w@...lic-files.de Subject: Re: [PATCH net-next v3 09/11] net: dsa: realtek: rtl8365mb: use DSA CPU port On Fri, Dec 31, 2021 at 01:33:04AM -0300, Luiz Angelo Daros de Luca wrote: > Instead of a fixed CPU port, assume that DSA is correct. > > Signed-off-by: Luiz Angelo Daros de Luca <luizluca@...il.com> > Tested-by: Arınç ÜNAL <arinc.unal@...nc9.com> > --- > drivers/net/dsa/realtek/rtl8365mb.c | 23 ++++++++++++++--------- > 1 file changed, 14 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/dsa/realtek/rtl8365mb.c b/drivers/net/dsa/realtek/rtl8365mb.c > index b22f50a9d1ef..168e857a4e34 100644 > --- a/drivers/net/dsa/realtek/rtl8365mb.c > +++ b/drivers/net/dsa/realtek/rtl8365mb.c > @@ -103,14 +103,13 @@ > > /* Chip-specific data and limits */ > #define RTL8365MB_CHIP_ID_8365MB_VC 0x6367 > -#define RTL8365MB_CPU_PORT_NUM_8365MB_VC 6 > #define RTL8365MB_LEARN_LIMIT_MAX_8365MB_VC 2112 > > /* Family-specific data and limits */ > #define RTL8365MB_PHYADDRMAX 7 > #define RTL8365MB_NUM_PHYREGS 32 > #define RTL8365MB_PHYREGMAX (RTL8365MB_NUM_PHYREGS - 1) > -#define RTL8365MB_MAX_NUM_PORTS (RTL8365MB_CPU_PORT_NUM_8365MB_VC + 1) > +#define RTL8365MB_MAX_NUM_PORTS 7 > > /* Chip identification registers */ > #define RTL8365MB_CHIP_ID_REG 0x1300 > @@ -1833,9 +1832,18 @@ static int rtl8365mb_setup(struct dsa_switch *ds) > dev_info(priv->dev, "no interrupt support\n"); > > /* Configure CPU tagging */ > - ret = rtl8365mb_cpu_config(priv); > - if (ret) > - goto out_teardown_irq; > + for (i = 0; i < priv->num_ports; i++) { > + if (!(dsa_is_cpu_port(priv->ds, i))) > + continue; dsa_switch_for_each_cpu_port > + priv->cpu_port = i; > + mb->cpu.mask = BIT(priv->cpu_port); > + mb->cpu.trap_port = priv->cpu_port; > + ret = rtl8365mb_cpu_config(priv); > + if (ret) > + goto out_teardown_irq; > + > + break; > + } > > /* Configure ports */ > for (i = 0; i < priv->num_ports; i++) { > @@ -1967,8 +1975,7 @@ static int rtl8365mb_detect(struct realtek_priv *priv) > "found an RTL8365MB-VC switch (ver=0x%04x)\n", > chip_ver); > > - priv->cpu_port = RTL8365MB_CPU_PORT_NUM_8365MB_VC; > - priv->num_ports = priv->cpu_port + 1; > + priv->num_ports = RTL8365MB_MAX_NUM_PORTS; > > mb->priv = priv; > mb->chip_id = chip_id; > @@ -1979,8 +1986,6 @@ static int rtl8365mb_detect(struct realtek_priv *priv) > mb->jam_size = ARRAY_SIZE(rtl8365mb_init_jam_8365mb_vc); > > mb->cpu.enable = 1; > - mb->cpu.mask = BIT(priv->cpu_port); > - mb->cpu.trap_port = priv->cpu_port; > mb->cpu.insert = RTL8365MB_CPU_INSERT_TO_ALL; > mb->cpu.position = RTL8365MB_CPU_POS_AFTER_SA; > mb->cpu.rx_length = RTL8365MB_CPU_RXLEN_64BYTES; > -- > 2.34.0 >
Powered by blists - more mailing lists