|
@@ -5415,13 +5415,15 @@ static netdev_features_t __hdd_fix_features(struct net_device *net_dev,
|
|
}
|
|
}
|
|
|
|
|
|
feature_tso_csum = hdd_get_tso_csum_feature_flags();
|
|
feature_tso_csum = hdd_get_tso_csum_feature_flags();
|
|
- if (hdd_is_legacy_connection(adapter))
|
|
|
|
|
|
+ if (hdd_is_legacy_connection(adapter)) {
|
|
/* Disable checksum and TSO */
|
|
/* Disable checksum and TSO */
|
|
feature_change_req &= ~feature_tso_csum;
|
|
feature_change_req &= ~feature_tso_csum;
|
|
- else
|
|
|
|
|
|
+ adapter->tso_csum_feature_enabled = 0;
|
|
|
|
+ } else {
|
|
/* Enable checksum and TSO */
|
|
/* Enable checksum and TSO */
|
|
feature_change_req |= feature_tso_csum;
|
|
feature_change_req |= feature_tso_csum;
|
|
-
|
|
|
|
|
|
+ adapter->tso_csum_feature_enabled = 1;
|
|
|
|
+ }
|
|
hdd_debug("vdev mode %d current features 0x%llx, requesting feature change 0x%llx",
|
|
hdd_debug("vdev mode %d current features 0x%llx, requesting feature change 0x%llx",
|
|
adapter->device_mode, net_dev->features,
|
|
adapter->device_mode, net_dev->features,
|
|
feature_change_req);
|
|
feature_change_req);
|
|
@@ -8009,8 +8011,10 @@ void hdd_set_netdev_flags(struct hdd_adapter *adapter)
|
|
adapter->dev->features |=
|
|
adapter->dev->features |=
|
|
(NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM);
|
|
(NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM);
|
|
|
|
|
|
- if (cdp_cfg_get(soc, cfg_dp_tso_enable) && enable_csum)
|
|
|
|
|
|
+ if (cdp_cfg_get(soc, cfg_dp_tso_enable) && enable_csum) {
|
|
adapter->dev->features |= TSO_FEATURE_FLAGS;
|
|
adapter->dev->features |= TSO_FEATURE_FLAGS;
|
|
|
|
+ adapter->tso_csum_feature_enabled = 1;
|
|
|
|
+ }
|
|
|
|
|
|
if (cdp_cfg_get(soc, cfg_dp_sg_enable))
|
|
if (cdp_cfg_get(soc, cfg_dp_sg_enable))
|
|
adapter->dev->features |= NETIF_F_SG;
|
|
adapter->dev->features |= NETIF_F_SG;
|