mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
nvethernet: update l3l4 filter handling
Modified l3l4 filter ioctls based on corresponding osi changes. Bug 3576506 Bug 3825731 Change-Id: Id9a4ce263f3526e4c5a357d74f9d55ebb59fef29 Signed-off-by: Hareesh Kesireddy <hkesireddy@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2803367 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
mobile promotions
parent
fdbb8a0e96
commit
db62bc86bb
@@ -595,7 +595,6 @@ static int ether_config_ip4_filters(struct net_device *dev,
|
||||
struct osi_l3_l4_filter *u_l3_filter =
|
||||
(struct osi_l3_l4_filter *)ifdata->ptr;
|
||||
struct osi_ioctl ioctl_data = {};
|
||||
unsigned int is_l4_filter = OSI_DISABLE;
|
||||
int ret = -EINVAL;
|
||||
|
||||
if (pdata->hw_feat.l3l4_filter_num == OSI_DISABLE) {
|
||||
@@ -615,19 +614,7 @@ static int ether_config_ip4_filters(struct net_device *dev,
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
if (ioctl_data.l3l4_filter.filter_no >
|
||||
(pdata->hw_feat.l3l4_filter_num - 1U)) {
|
||||
dev_err(pdata->dev, "%d filter is not supported in the HW\n",
|
||||
ioctl_data.l3l4_filter.filter_no);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ioctl_data.cmd = OSI_CMD_L3L4_FILTER;
|
||||
ioctl_data.arg1_u32 = OSI_IP4_FILTER;
|
||||
ioctl_data.arg2_u32 = OSI_DISABLE;
|
||||
ioctl_data.arg3_u32 = OSI_CHAN_ANY;
|
||||
ioctl_data.arg4_u32 = is_l4_filter;
|
||||
|
||||
return osi_handle_ioctl(osi_core, &ioctl_data);
|
||||
}
|
||||
|
||||
@@ -657,7 +644,6 @@ static int ether_config_ip6_filters(struct net_device *dev,
|
||||
struct osi_l3_l4_filter *u_l3_filter =
|
||||
(struct osi_l3_l4_filter *)ifdata->ptr;
|
||||
struct osi_ioctl ioctl_data = {};
|
||||
unsigned int is_l4_filter = OSI_DISABLE;
|
||||
int ret = -EINVAL;
|
||||
|
||||
if (pdata->hw_feat.l3l4_filter_num == OSI_DISABLE) {
|
||||
@@ -677,19 +663,7 @@ static int ether_config_ip6_filters(struct net_device *dev,
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
if (ioctl_data.l3l4_filter.filter_no >
|
||||
(pdata->hw_feat.l3l4_filter_num - 1U)) {
|
||||
dev_err(pdata->dev, "%d filter is not supported in the HW\n",
|
||||
ioctl_data.l3l4_filter.filter_no);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ioctl_data.cmd = OSI_CMD_L3L4_FILTER;
|
||||
ioctl_data.arg1_u32 = OSI_IP6_FILTER;
|
||||
ioctl_data.arg2_u32 = OSI_DISABLE;
|
||||
ioctl_data.arg3_u32 = OSI_CHAN_ANY;
|
||||
ioctl_data.arg4_u32 = is_l4_filter;
|
||||
|
||||
return osi_handle_ioctl(osi_core, &ioctl_data);
|
||||
}
|
||||
|
||||
@@ -722,7 +696,6 @@ static int ether_config_tcp_udp_filters(struct net_device *dev,
|
||||
struct osi_l3_l4_filter *u_l4_filter =
|
||||
(struct osi_l3_l4_filter *)ifdata->ptr;
|
||||
struct osi_ioctl ioctl_data = {};
|
||||
unsigned int is_l4_filter = OSI_ENABLE;
|
||||
int ret = -EINVAL;
|
||||
|
||||
if (ifdata->ptr == NULL) {
|
||||
@@ -743,19 +716,7 @@ static int ether_config_tcp_udp_filters(struct net_device *dev,
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
if (ioctl_data.l3l4_filter.filter_no >
|
||||
(pdata->hw_feat.l3l4_filter_num - 1U)) {
|
||||
dev_err(pdata->dev, "%d filter is not supported in the HW\n",
|
||||
ioctl_data.l3l4_filter.filter_no);
|
||||
return ret;
|
||||
}
|
||||
|
||||
ioctl_data.cmd = OSI_CMD_L3L4_FILTER;
|
||||
ioctl_data.arg1_u32 = tcp_udp;
|
||||
ioctl_data.arg2_u32 = OSI_DISABLE;
|
||||
ioctl_data.arg3_u32 = OSI_CHAN_ANY;
|
||||
ioctl_data.arg4_u32 = is_l4_filter;
|
||||
|
||||
return osi_handle_ioctl(osi_core, &ioctl_data);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user