qcacld-3.0: Enable TSO and other features for NDI vdev

Enable TSO and other driver capabilities for NAN datapath
interface.
Below are the list of feature capabilities supported:
NETIF_F_IP_CSUM, NETIF_F_IPV6_CSUM, NETIF_F_TSO, NETIF_F_TSO6,
NETIF_F_SG, NETIF_F_RXCSUM, NETIF_F_LRO

Change-Id: I62b0a09b307799c1a1f67ca8102563b3570e8533
CRs-Fixed: 2637165
This commit is contained in:
Manjunathappa Prakash
2020-03-25 22:50:49 -07:00
committed by nshrivas
parent dcbc07581d
commit f5e698626a

View File

@@ -452,6 +452,7 @@ int hdd_init_nan_data_mode(struct hdd_adapter *adapter)
{ {
struct net_device *wlan_dev = adapter->dev; struct net_device *wlan_dev = adapter->dev;
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter); struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
void *soc;
QDF_STATUS status; QDF_STATUS status;
int32_t ret_val; int32_t ret_val;
mac_handle_t mac_handle; mac_handle_t mac_handle;
@@ -508,6 +509,22 @@ int hdd_init_nan_data_mode(struct hdd_adapter *adapter)
if (0 != ret_val) if (0 != ret_val)
hdd_err("WMI_PDEV_PARAM_BURST_ENABLE set failed %d", ret_val); hdd_err("WMI_PDEV_PARAM_BURST_ENABLE set failed %d", ret_val);
soc = cds_get_context(QDF_MODULE_ID_SOC);
/*
* In case of USB tethering, LRO is disabled. If SSR happened
* during that time, then as part of SSR init, do not enable
* the LRO again. Keep the LRO state same as before SSR.
*/
if (cdp_cfg_get(soc, cfg_dp_lro_enable) &&
!(qdf_atomic_read(&hdd_ctx->vendor_disable_lro_flag)))
adapter->dev->features |= NETIF_F_LRO;
if (cdp_cfg_get(soc, cfg_dp_enable_ip_tcp_udp_checksum_offload))
adapter->dev->features |= NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
adapter->dev->features |= NETIF_F_RXCSUM;
hdd_set_tso_flags(hdd_ctx, adapter->dev);
update_ndi_state(adapter, NAN_DATA_NDI_CREATING_STATE); update_ndi_state(adapter, NAN_DATA_NDI_CREATING_STATE);
return ret_val; return ret_val;