]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: ethernet: ti: am65-cpsw-nuss/cpsw-ale: Fix multicast entry handling in ALE table
authorChintan Vankar <c-vankar@ti.com>
Tue, 24 Feb 2026 18:13:59 +0000 (23:43 +0530)
committerJakub Kicinski <kuba@kernel.org>
Fri, 27 Feb 2026 03:43:54 +0000 (19:43 -0800)
commitbe11a537224d72b906db6b98510619770298c8a4
tree6d6b299d5dbba9e9ef0f586b08dd8f4c5a88b677
parent7e5b450c490ada6f70e08bbd913f0981d33a5a1a
net: ethernet: ti: am65-cpsw-nuss/cpsw-ale: Fix multicast entry handling in ALE table

In the current implementation, flushing multicast entries in MAC mode
incorrectly deletes entries for all ports instead of only the target port,
disrupting multicast traffic on other ports. The cause is adding multicast
entries by setting only host port bit, and not setting the MAC port bits.

Fix this by setting the MAC port's bit in the port mask while adding the
multicast entry. Also fix the flush logic to preserve the host port bit
during removal of MAC port and free ALE entries when mask contains only
host port.

Fixes: 5c50a856d550 ("drivers: net: ethernet: cpsw: add multicast address to ALE table")
Signed-off-by: Chintan Vankar <c-vankar@ti.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260224181359.2055322-1-c-vankar@ti.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/ti/am65-cpsw-nuss.c
drivers/net/ethernet/ti/cpsw_ale.c