*/
vlan = batadv_meshif_vlan_get(bat_priv, vid);
if (vlan) {
- ap_isolation_enabled = atomic_read(&vlan->ap_isolation);
+ ap_isolation_enabled = READ_ONCE(vlan->ap_isolation);
batadv_meshif_vlan_put(vlan);
}
vlan->vid = vid;
kref_init(&vlan->refcount);
- atomic_set(&vlan->ap_isolation, 0);
+ WRITE_ONCE(vlan->ap_isolation, 0);
kref_get(&vlan->refcount);
hlist_add_head_rcu(&vlan->list, &bat_priv->meshif_vlan_list);
if (!vlan)
return 0;
- ap_isolation = atomic_read(&vlan->ap_isolation);
+ ap_isolation = READ_ONCE(vlan->ap_isolation);
batadv_meshif_vlan_put(vlan);
return nla_put_u8(msg, BATADV_ATTR_AP_ISOLATION_ENABLED,
if (!vlan)
return -ENOENT;
- atomic_set(&vlan->ap_isolation, !!nla_get_u8(attr));
+ WRITE_ONCE(vlan->ap_isolation, !!nla_get_u8(attr));
batadv_meshif_vlan_put(vlan);
return 0;
goto nla_put_failure;
if (nla_put_u8(msg, BATADV_ATTR_AP_ISOLATION_ENABLED,
- !!atomic_read(&vlan->ap_isolation)))
+ !!READ_ONCE(vlan->ap_isolation)))
goto nla_put_failure;
genlmsg_end(msg, hdr);
if (info->attrs[BATADV_ATTR_AP_ISOLATION_ENABLED]) {
attr = info->attrs[BATADV_ATTR_AP_ISOLATION_ENABLED];
- atomic_set(&vlan->ap_isolation, !!nla_get_u8(attr));
+ WRITE_ONCE(vlan->ap_isolation, !!nla_get_u8(attr));
}
batadv_netlink_notify_vlan(bat_priv, vlan);
if (!vlan)
return false;
- if (!atomic_read(&vlan->ap_isolation))
+ if (!READ_ONCE(vlan->ap_isolation))
goto vlan_put;
tt_local_entry = batadv_tt_local_hash_find(bat_priv, dst, vid);
unsigned short vid;
/** @ap_isolation: AP isolation state */
- atomic_t ap_isolation; /* boolean */
+ u8 ap_isolation; /* boolean */
/** @tt: TT private attributes (VLAN specific) */
struct batadv_vlan_tt tt;