@@ -115,7 +115,7 @@ static void lowpan_setup(struct net_device *ldev)
ldev->netdev_ops = &lowpan_netdev_ops;
ldev->header_ops = &lowpan_header_ops;
ldev->needs_free_netdev = true;
- ldev->features |= NETIF_F_NETNS_LOCAL;
+ netdev_feature_set_bit(NETIF_F_NETNS_LOCAL_BIT, &ldev->features);
}
static int lowpan_validate(struct nlattr *tb[], struct nlattr *data[],
@@ -204,11 +204,13 @@ int cfg802154_switch_netns(struct cfg802154_registered_device *rdev,
list_for_each_entry(wpan_dev, &rdev->wpan_dev_list, list) {
if (!wpan_dev->netdev)
continue;
- wpan_dev->netdev->features &= ~NETIF_F_NETNS_LOCAL;
+ netdev_feature_clear_bit(NETIF_F_NETNS_LOCAL_BIT,
+ &wpan_dev->netdev->features);
err = dev_change_net_namespace(wpan_dev->netdev, net, "wpan%d");
if (err)
break;
- wpan_dev->netdev->features |= NETIF_F_NETNS_LOCAL;
+ netdev_feature_set_bit(NETIF_F_NETNS_LOCAL_BIT,
+ &wpan_dev->netdev->features);
}
if (err) {
@@ -220,11 +222,13 @@ int cfg802154_switch_netns(struct cfg802154_registered_device *rdev,
list) {
if (!wpan_dev->netdev)
continue;
- wpan_dev->netdev->features &= ~NETIF_F_NETNS_LOCAL;
+ netdev_feature_clear_bit(NETIF_F_NETNS_LOCAL_BIT,
+ &wpan_dev->netdev->features);
err = dev_change_net_namespace(wpan_dev->netdev, net,
"wpan%d");
WARN_ON(err);
- wpan_dev->netdev->features |= NETIF_F_NETNS_LOCAL;
+ netdev_feature_set_bit(NETIF_F_NETNS_LOCAL_BIT,
+ &wpan_dev->netdev->features);
}
return err;
@@ -269,7 +273,7 @@ static int cfg802154_netdev_notifier_call(struct notifier_block *nb,
switch (state) {
/* TODO NETDEV_DEVTYPE */
case NETDEV_REGISTER:
- dev->features |= NETIF_F_NETNS_LOCAL;
+ netdev_feature_set_bit(NETIF_F_NETNS_LOCAL_BIT, &dev->features);
wpan_dev->identifier = ++rdev->wpan_dev_id;
list_add_rcu(&wpan_dev->list, &rdev->wpan_dev_list);
rdev->devlist_generation++;
Use netdev_feature_xxx helpers to replace the logical operation for netdev features. Signed-off-by: Jian Shen <shenjian15@huawei.com> --- net/ieee802154/6lowpan/core.c | 2 +- net/ieee802154/core.c | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-)