]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
net: ethernet: adi: adin1110: Fix multicast offloading
authorAlexandru Tachici <alexandru.tachici@analog.com>
Fri, 20 Jan 2023 09:08:46 +0000 (11:08 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 24 Jan 2023 05:41:33 +0000 (21:41 -0800)
Driver marked broadcast/multicast frames as offloaded incorrectly.
Mark them as offloaded only when HW offloading has been enabled.
This should happen only for ADIN2111 when both ports are bridged
by the software.

Fixes: bc93e19d088b ("net: ethernet: adi: Add ADIN1110 support")
Signed-off-by: Alexandru Tachici <alexandru.tachici@analog.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20230120090846.18172-1-alexandru.tachici@analog.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/adi/adin1110.c

index 0805f249fff29204611f5059873e7e13b52f0084..c26b8597945b5cb5c102eb7531a24c23b82f7b2d 100644 (file)
@@ -356,7 +356,7 @@ static int adin1110_read_fifo(struct adin1110_port_priv *port_priv)
 
        if ((port_priv->flags & IFF_ALLMULTI && rxb->pkt_type == PACKET_MULTICAST) ||
            (port_priv->flags & IFF_BROADCAST && rxb->pkt_type == PACKET_BROADCAST))
-               rxb->offload_fwd_mark = 1;
+               rxb->offload_fwd_mark = port_priv->priv->forwarding;
 
        netif_rx(rxb);