nvethernet: Allow more than 31 l2 filter index

Ported from -
https://git-master.nvidia.com/r/c/nvethernet-docs/+/3027949

Bug 4297989

Change-Id: Ic978dc44dd2d16b03effc5322d2470a238c7ccc9
Signed-off-by: Mahesh Patil <maheshp@nvidia.com>
This commit is contained in:
Mahesh Patil
2023-12-04 16:14:51 -08:00
committed by Bhadram Varka
parent a0d0c09294
commit 7e2c08add0

View File

@@ -591,8 +591,13 @@ static int ether_config_l2_filters(struct net_device *dev,
u_l2_filter.mac_addr, ETH_ALEN);
ioctl_data.l2_filter.dma_routing = OSI_ENABLE;
ioctl_data.l2_filter.addr_mask = OSI_DISABLE;
ioctl_data.l2_filter.dma_chan = osi_dma->dma_chans[0];
ioctl_data.l2_filter.dma_chansel = OSI_BIT(osi_dma->dma_chans[0]);
ioctl_data.l2_filter.pkt_dup = u_l2_filter.pkt_dup;
if (ioctl_data.l2_filter.pkt_dup) {
ioctl_data.l2_filter.dma_chan = u_l2_filter.dma_chan;
} else {
ioctl_data.l2_filter.dma_chan = osi_dma->dma_chans[0];
}
ioctl_data.l2_filter.dma_chansel = OSI_BIT_64(ioctl_data.l2_filter.dma_chan);
ioctl_data.cmd = OSI_CMD_L2_FILTER;
return osi_handle_ioctl(osi_core, &ioctl_data);
}