@@ -1285,7 +1285,7 @@ static int cxgb_set_features(struct net_device *dev, netdev_features_t features)
!!(features & NETIF_F_HW_VLAN_CTAG_RX), true);
if (unlikely(err)) {
dev->features = features;
- dev->features ^= NETIF_F_HW_VLAN_CTAG_RX;
+ netdev_active_feature_change(dev, NETIF_F_HW_VLAN_CTAG_RX_BIT);
}
return err;
}
@@ -1186,7 +1186,7 @@ static int gve_set_features(struct net_device *netdev,
int err;
if ((netdev->features & NETIF_F_LRO) != (features & NETIF_F_LRO)) {
- netdev->features ^= NETIF_F_LRO;
+ netdev_active_feature_change(netdev, NETIF_F_LRO_BIT);
if (netif_carrier_ok(netdev)) {
/* To make this process as simple as possible we
* teardown the device, set the new configuration,
@@ -1097,7 +1097,7 @@ int qlcnic_set_features(struct net_device *netdev, netdev_features_t features)
if (!(changed & NETIF_F_LRO))
return 0;
- netdev->features ^= NETIF_F_LRO;
+ netdev_active_feature_change(netdev, NETIF_F_LRO_BIT);
if (qlcnic_config_hw_lro(adapter, hw_lro))
return -EIO;
@@ -1912,7 +1912,7 @@ static netdev_features_t netvsc_fix_features(struct net_device *ndev,
return features;
if ((features & NETIF_F_LRO) && netvsc_xdp_get(nvdev)) {
- features ^= NETIF_F_LRO;
+ netdev_feature_change(NETIF_F_LRO_BIT, features);
netdev_info(ndev, "Skip LRO - unsupported with XDP\n");
}
@@ -1948,7 +1948,7 @@ static int netvsc_set_features(struct net_device *ndev,
ret = rndis_filter_set_offload_params(ndev, nvdev, &offloads);
if (ret) {
- features ^= NETIF_F_LRO;
+ netdev_feature_change(NETIF_F_LRO_BIT, features);
ndev->features = features;
}
@@ -6799,31 +6799,31 @@ int qeth_set_features(struct net_device *dev, netdev_features_t features)
IPA_OUTBOUND_CHECKSUM, QETH_PROT_IPV4,
&card->info.has_lp2lp_cso_v4);
if (rc)
- changed ^= NETIF_F_IP_CSUM;
+ netdev_feature_change(NETIF_F_IP_CSUM_BIT, changed);
}
if (changed & NETIF_F_IPV6_CSUM) {
rc = qeth_set_ipa_csum(card, features & NETIF_F_IPV6_CSUM,
IPA_OUTBOUND_CHECKSUM, QETH_PROT_IPV6,
&card->info.has_lp2lp_cso_v6);
if (rc)
- changed ^= NETIF_F_IPV6_CSUM;
+ netdev_feature_change(NETIF_F_IPV6_CSUM_BIT, changed);
}
if (changed & NETIF_F_RXCSUM) {
rc = qeth_set_ipa_rx_csum(card, features & NETIF_F_RXCSUM);
if (rc)
- changed ^= NETIF_F_RXCSUM;
+ netdev_feature_change(NETIF_F_RXCSUM_BIT, changed);
}
if (changed & NETIF_F_TSO) {
rc = qeth_set_ipa_tso(card, features & NETIF_F_TSO,
QETH_PROT_IPV4);
if (rc)
- changed ^= NETIF_F_TSO;
+ netdev_feature_change(NETIF_F_TSO_BIT, changed);
}
if (changed & NETIF_F_TSO6) {
rc = qeth_set_ipa_tso(card, features & NETIF_F_TSO6,
QETH_PROT_IPV6);
if (rc)
- changed ^= NETIF_F_TSO6;
+ netdev_feature_change(NETIF_F_TSO6_BIT, changed);
}
qeth_check_restricted_features(card, dev->features ^ features,
Replace the 'f1 ^= f2' expressions of single feature bit by netdev_feature_change helpers. Signed-off-by: Jian Shen <shenjian15@huawei.com> --- drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 2 +- drivers/net/ethernet/google/gve/gve_main.c | 2 +- drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c | 2 +- drivers/net/hyperv/netvsc_drv.c | 4 ++-- drivers/s390/net/qeth_core_main.c | 10 +++++----- 5 files changed, 10 insertions(+), 10 deletions(-)