Skip to content

Commit

Permalink
net: ll_temac: Cleanup multicast filter on change
Browse files Browse the repository at this point in the history
Avoid leaving old address table entries when using multicast.  If more than
one multicast address were removed, only the first removed address would
actually be cleared.

Signed-off-by: Esben Haabendal <esben@geanix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Esben Haabendal authored and David S. Miller committed May 23, 2019
1 parent 1bd33bf commit 1b3fa5c
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/net/ethernet/xilinx/ll_temac_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -485,10 +485,13 @@ static void temac_set_multicast_list(struct net_device *ndev)
multi_addr_lsw);
i++;
}
} else {
}

/* Clear all or remaining/unused address table entries */
while (i < MULTICAST_CAM_TABLE_NUM) {
temac_indirect_out32_locked(lp, XTE_MAW0_OFFSET, 0);
temac_indirect_out32_locked(lp, XTE_MAW1_OFFSET, i << 16);
}
i++;
}

/* Enable address filter block if currently disabled */
Expand Down

0 comments on commit 1b3fa5c

Please sign in to comment.