@@ -11199,7 +11199,7 @@ static netdev_features_t bnxt_fix_features(struct net_device *dev,
* turned on or off together.
*/
vlan_features = netdev_features_and(features, BNXT_HW_FEATURE_VLAN_ALL_RX);
- if (vlan_features != BNXT_HW_FEATURE_VLAN_ALL_RX) {
+ if (!netdev_features_equal(vlan_features, BNXT_HW_FEATURE_VLAN_ALL_RX)) {
if (netdev_active_features_intersects(dev, BNXT_HW_FEATURE_VLAN_ALL_RX))
netdev_features_clear(&features,
BNXT_HW_FEATURE_VLAN_ALL_RX);
@@ -4895,7 +4895,7 @@ static void send_control_ip_offload(struct ibmvnic_adapter *adapter)
if (adapter->state == VNIC_PROBING) {
netdev_active_features_set(adapter->netdev,
adapter->netdev->hw_features);
- } else if (old_hw_features != adapter->netdev->hw_features) {
+ } else if (!netdev_hw_features_equal(adapter->netdev, old_hw_features)) {
netdev_features_t tmp = netdev_empty_features;
/* disable features no longer supported */
@@ -5792,7 +5792,7 @@ ice_fix_features(struct net_device *netdev, netdev_features_t features)
req_stag = netdev_feature_test(NETIF_F_HW_VLAN_STAG_FILTER_BIT,
req_vlan_fltr);
- if (req_vlan_fltr != cur_vlan_fltr) {
+ if (netdev_features_equal(req_vlan_fltr, cur_vlan_fltr)) {
if (ice_is_dvm_ena(&np->vsi->back->hw)) {
if (req_ctag && req_stag) {
netdev_features_set(&features,
@@ -417,7 +417,7 @@ static void efx_start_datapath(struct efx_nic *efx)
netdev_hw_features_set(efx->net_dev, efx->net_dev->features);
netdev_hw_features_clear(efx->net_dev, efx->fixed_features);
netdev_active_features_set(efx->net_dev, efx->fixed_features);
- if (efx->net_dev->features != old_features)
+ if (!netdev_active_features_equal(efx->net_dev, old_features))
netdev_features_change(efx->net_dev);
/* RX filters may also have scatter-enabled flags */
@@ -638,7 +638,7 @@ static void ef4_start_datapath(struct ef4_nic *efx)
netdev_hw_features_set(efx->net_dev, efx->net_dev->features);
netdev_hw_features_clear(efx->net_dev, efx->fixed_features);
netdev_active_features_set(efx->net_dev, efx->fixed_features);
- if (efx->net_dev->features != old_features)
+ if (!netdev_active_features_equal(efx->net_dev, old_features))
netdev_features_change(efx->net_dev);
/* RX filters may also have scatter-enabled flags */
@@ -416,7 +416,7 @@ static void efx_start_datapath(struct efx_nic *efx)
netdev_hw_features_set(efx->net_dev, efx->net_dev->features);
netdev_hw_features_clear(efx->net_dev, efx->fixed_features);
netdev_active_features_set(efx->net_dev, efx->fixed_features);
- if (efx->net_dev->features != old_features)
+ if (!netdev_active_features_equal(efx->net_dev, old_features))
netdev_features_change(efx->net_dev);
/* RX filters may also have scatter-enabled flags */
@@ -6665,7 +6665,7 @@ static int qeth_set_csum_on(struct qeth_card *card, enum qeth_ipa_funcs cstype,
if (rc)
return rc;
- if ((required_features & features) != required_features) {
+ if (!netdev_features_subset(features, required_features)) {
qeth_set_csum_off(card, cstype, prot);
return -EOPNOTSUPP;
}
@@ -6831,7 +6831,7 @@ void qeth_enable_hw_features(struct net_device *dev)
NETIF_F_HW_VLAN_CTAG_FILTER_BIT);
}
netdev_update_features(dev);
- if (features != dev->features)
+ if (!netdev_active_features_equal(dev, features))
dev_warn(&card->gdev->dev,
"Device recovery failed to restore all offload features\n");
}
@@ -9735,7 +9735,7 @@ int __netdev_update_features(struct net_device *dev)
netdev_for_each_upper_dev_rcu(dev, upper, iter)
features = netdev_sync_upper_features(dev, upper, features);
- if (dev->features == features)
+ if (netdev_active_features_equal(dev, features))
goto sync_lower;
netdev_dbg(dev, "Features changed: %pNF -> %pNF\n",
@@ -3033,7 +3033,7 @@ __dev_ethtool(struct net *net, struct ifreq *ifr, void __user *useraddr,
if (dev->ethtool_ops->complete)
dev->ethtool_ops->complete(dev);
- if (old_features != dev->features)
+ if (!netdev_active_features_equal(dev, old_features))
netdev_features_change(dev);
out:
if (dev->dev.parent)
Replace the '==' and '!=' expressions of features by netdev_features_equal helpers. Signed-off-by: Jian Shen <shenjian15@huawei.com> --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/ethernet/ibm/ibmvnic.c | 2 +- drivers/net/ethernet/intel/ice/ice_main.c | 2 +- drivers/net/ethernet/sfc/efx_common.c | 2 +- drivers/net/ethernet/sfc/falcon/efx.c | 2 +- drivers/net/ethernet/sfc/siena/efx_common.c | 2 +- drivers/s390/net/qeth_core_main.c | 4 ++-- net/core/dev.c | 2 +- net/ethtool/ioctl.c | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-)