Re: [PATCH net-next 1/4] net: xilinx: axienet: Always disable promiscuous mode

Simon Horman
2024-08-15T14:58:37Z

On Mon, Aug 12, 2024 at 04:04:34PM -0400, Sean Anderson wrote:
> If prmiscuous mode is disabled when there are fewer than four multicast
> addresses, then it will to be reflected in the hardware. Fix this by
> always clearing the promiscuous mode flag even when we program multicast
> addresses.
>
> Fixes: 8a3b7a252dca ("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver")
> Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
> ---
>
> drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> index ca04c298daa2..e664611c29cf 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> @@ -451,6 +451,10 @@ static void axienet_set_multicast_list(struct net_device *ndev)
> } else if (!netdev_mc_empty(ndev)) {
> struct netdev_hw_addr *ha;
>
> + reg = axienet_ior(lp, XAE_FMI_OFFSET);
> + reg &= ~XAE_FMI_PM_MASK;
> + axienet_iow(lp, XAE_FMI_OFFSET, reg);
> +

Hi Sean,

I notice that this replicates code in another part of this function.
And that is then factored out into common code as part of the last
patch of this series.

I guess that it is in the wash, but perhaps it would
be nicer to factor out the common promisc mode setting code
as part of this patch.

Otherwise, this LGTM.

> i = 0;
> netdev_for_each_mc_addr(ha, ndev) {
> if (i >= XAE_MULTICAST_CAM_TABLE_NUM)
> --
> 2.35.1.1320.gc452695387.dirty
>
>