[openwrt/openwrt] realtek: fix writing/deletion of CAM entries
LEDE Commits
lede-commits at lists.infradead.org
Sun May 7 10:17:44 PDT 2023
svanheule pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/81931756e1490547f8a6e1ef510b52af28c60909
commit 81931756e1490547f8a6e1ef510b52af28c60909
Author: Jan Hoffmann <jan at 3e8.eu>
AuthorDate: Sun May 7 01:05:30 2023 +0200
realtek: fix writing/deletion of CAM entries
Actually use the index returned by rtl83xx_find_l2_cam_entry.
Fixes: cde31976e375 ("realtek: Add support for Layer 2 Multicast")
Signed-off-by: Jan Hoffmann <jan at 3e8.eu>
---
target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c | 8 ++++----
target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c | 8 ++++----
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c b/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c
index e9fc6f15ed..672675e884 100644
--- a/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c
+++ b/target/linux/realtek/files-5.10/drivers/net/dsa/rtl83xx/dsa.c
@@ -1678,7 +1678,7 @@ static int rtl83xx_port_fdb_add(struct dsa_switch *ds, int port,
}
// Hash buckets full, try CAM
- rtl83xx_find_l2_cam_entry(priv, seed, false, &e);
+ idx = rtl83xx_find_l2_cam_entry(priv, seed, false, &e);
if (idx >= 0) {
rtl83xx_setup_l2_uc_entry(&e, port, vid, mac);
@@ -1714,7 +1714,7 @@ static int rtl83xx_port_fdb_del(struct dsa_switch *ds, int port,
}
/* Check CAM for spillover from hash buckets */
- rtl83xx_find_l2_cam_entry(priv, seed, true, &e);
+ idx = rtl83xx_find_l2_cam_entry(priv, seed, true, &e);
if (idx >= 0) {
e.valid = false;
@@ -1816,7 +1816,7 @@ static void rtl83xx_port_mdb_add(struct dsa_switch *ds, int port,
}
// Hash buckets full, try CAM
- rtl83xx_find_l2_cam_entry(priv, seed, false, &e);
+ idx = rtl83xx_find_l2_cam_entry(priv, seed, false, &e);
if (idx >= 0) {
if (e.valid) {
@@ -1876,7 +1876,7 @@ int rtl83xx_port_mdb_del(struct dsa_switch *ds, int port,
}
/* Check CAM for spillover from hash buckets */
- rtl83xx_find_l2_cam_entry(priv, seed, true, &e);
+ idx = rtl83xx_find_l2_cam_entry(priv, seed, true, &e);
if (idx >= 0) {
portmask = rtl83xx_mc_group_del_port(priv, e.mc_portmask_index, port);
diff --git a/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c b/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c
index b50330e1b9..dbf87a6072 100644
--- a/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c
+++ b/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c
@@ -1660,7 +1660,7 @@ static int rtl83xx_port_fdb_add(struct dsa_switch *ds, int port,
}
/* Hash buckets full, try CAM */
- rtl83xx_find_l2_cam_entry(priv, seed, false, &e);
+ idx = rtl83xx_find_l2_cam_entry(priv, seed, false, &e);
if (idx >= 0) {
rtl83xx_setup_l2_uc_entry(&e, port, vid, mac);
@@ -1698,7 +1698,7 @@ static int rtl83xx_port_fdb_del(struct dsa_switch *ds, int port,
}
/* Check CAM for spillover from hash buckets */
- rtl83xx_find_l2_cam_entry(priv, seed, true, &e);
+ idx = rtl83xx_find_l2_cam_entry(priv, seed, true, &e);
if (idx >= 0) {
e.valid = false;
@@ -1794,7 +1794,7 @@ static int rtl83xx_port_mdb_add(struct dsa_switch *ds, int port,
}
/* Hash buckets full, try CAM */
- rtl83xx_find_l2_cam_entry(priv, seed, false, &e);
+ idx = rtl83xx_find_l2_cam_entry(priv, seed, false, &e);
if (idx >= 0) {
if (e.valid) {
@@ -1857,7 +1857,7 @@ int rtl83xx_port_mdb_del(struct dsa_switch *ds, int port,
}
/* Check CAM for spillover from hash buckets */
- rtl83xx_find_l2_cam_entry(priv, seed, true, &e);
+ idx = rtl83xx_find_l2_cam_entry(priv, seed, true, &e);
if (idx >= 0) {
portmask = rtl83xx_mc_group_del_port(priv, e.mc_portmask_index, port);
More information about the lede-commits
mailing list