aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/agg-rx.c4
-rw-r--r--net/mac80211/cfg.c8
-rw-r--r--net/mac80211/ibss.c6
-rw-r--r--net/mac80211/iface.c6
-rw-r--r--net/mac80211/mesh_pathtbl.c4
-rw-r--r--net/mac80211/sta_info.c8
6 files changed, 18 insertions, 18 deletions
diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
index e6cab51dceb0..7c366dfe8da9 100644
--- a/net/mac80211/agg-rx.c
+++ b/net/mac80211/agg-rx.c
@@ -69,7 +69,7 @@ void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid,
69 if (!tid_rx) 69 if (!tid_rx)
70 return; 70 return;
71 71
72 rcu_assign_pointer(sta->ampdu_mlme.tid_rx[tid], NULL); 72 RCU_INIT_POINTER(sta->ampdu_mlme.tid_rx[tid], NULL);
73 73
74#ifdef CONFIG_MAC80211_HT_DEBUG 74#ifdef CONFIG_MAC80211_HT_DEBUG
75 printk(KERN_DEBUG "Rx BA session stop requested for %pM tid %u\n", 75 printk(KERN_DEBUG "Rx BA session stop requested for %pM tid %u\n",
@@ -325,7 +325,7 @@ void ieee80211_process_addba_request(struct ieee80211_local *local,
325 status = WLAN_STATUS_SUCCESS; 325 status = WLAN_STATUS_SUCCESS;
326 326
327 /* activate it for RX */ 327 /* activate it for RX */
328 rcu_assign_pointer(sta->ampdu_mlme.tid_rx[tid], tid_agg_rx); 328 RCU_INIT_POINTER(sta->ampdu_mlme.tid_rx[tid], tid_agg_rx);
329 329
330 if (timeout) 330 if (timeout)
331 mod_timer(&tid_agg_rx->session_timer, TU_TO_EXP_TIME(timeout)); 331 mod_timer(&tid_agg_rx->session_timer, TU_TO_EXP_TIME(timeout));
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 8fef3cddbc4f..9b1a95e1f56a 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -62,7 +62,7 @@ static int ieee80211_change_iface(struct wiphy *wiphy,
62 62
63 if (type == NL80211_IFTYPE_AP_VLAN && 63 if (type == NL80211_IFTYPE_AP_VLAN &&
64 params && params->use_4addr == 0) 64 params && params->use_4addr == 0)
65 rcu_assign_pointer(sdata->u.vlan.sta, NULL); 65 RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
66 else if (type == NL80211_IFTYPE_STATION && 66 else if (type == NL80211_IFTYPE_STATION &&
67 params && params->use_4addr >= 0) 67 params && params->use_4addr >= 0)
68 sdata->u.mgd.use_4addr = params->use_4addr; 68 sdata->u.mgd.use_4addr = params->use_4addr;
@@ -556,7 +556,7 @@ static int ieee80211_config_beacon(struct ieee80211_sub_if_data *sdata,
556 556
557 sdata->vif.bss_conf.dtim_period = new->dtim_period; 557 sdata->vif.bss_conf.dtim_period = new->dtim_period;
558 558
559 rcu_assign_pointer(sdata->u.ap.beacon, new); 559 RCU_INIT_POINTER(sdata->u.ap.beacon, new);
560 560
561 synchronize_rcu(); 561 synchronize_rcu();
562 562
@@ -611,7 +611,7 @@ static int ieee80211_del_beacon(struct wiphy *wiphy, struct net_device *dev)
611 if (!old) 611 if (!old)
612 return -ENOENT; 612 return -ENOENT;
613 613
614 rcu_assign_pointer(sdata->u.ap.beacon, NULL); 614 RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
615 synchronize_rcu(); 615 synchronize_rcu();
616 kfree(old); 616 kfree(old);
617 617
@@ -877,7 +877,7 @@ static int ieee80211_change_station(struct wiphy *wiphy,
877 return -EBUSY; 877 return -EBUSY;
878 } 878 }
879 879
880 rcu_assign_pointer(vlansdata->u.vlan.sta, sta); 880 RCU_INIT_POINTER(vlansdata->u.vlan.sta, sta);
881 } 881 }
882 882
883 sta->sdata = vlansdata; 883 sta->sdata = vlansdata;
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 7809895df8b0..41f16dd1a2b0 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -84,7 +84,7 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
84 drv_reset_tsf(local, sdata); 84 drv_reset_tsf(local, sdata);
85 85
86 skb = ifibss->skb; 86 skb = ifibss->skb;
87 rcu_assign_pointer(ifibss->presp, NULL); 87 RCU_INIT_POINTER(ifibss->presp, NULL);
88 synchronize_rcu(); 88 synchronize_rcu();
89 skb->data = skb->head; 89 skb->data = skb->head;
90 skb->len = 0; 90 skb->len = 0;
@@ -184,7 +184,7 @@ static void __ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata,
184 *pos++ = 0; /* U-APSD no in use */ 184 *pos++ = 0; /* U-APSD no in use */
185 } 185 }
186 186
187 rcu_assign_pointer(ifibss->presp, skb); 187 RCU_INIT_POINTER(ifibss->presp, skb);
188 188
189 sdata->vif.bss_conf.beacon_int = beacon_int; 189 sdata->vif.bss_conf.beacon_int = beacon_int;
190 sdata->vif.bss_conf.basic_rates = basic_rates; 190 sdata->vif.bss_conf.basic_rates = basic_rates;
@@ -995,7 +995,7 @@ int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata)
995 kfree(sdata->u.ibss.ie); 995 kfree(sdata->u.ibss.ie);
996 skb = rcu_dereference_protected(sdata->u.ibss.presp, 996 skb = rcu_dereference_protected(sdata->u.ibss.presp,
997 lockdep_is_held(&sdata->u.ibss.mtx)); 997 lockdep_is_held(&sdata->u.ibss.mtx));
998 rcu_assign_pointer(sdata->u.ibss.presp, NULL); 998 RCU_INIT_POINTER(sdata->u.ibss.presp, NULL);
999 sdata->vif.bss_conf.ibss_joined = false; 999 sdata->vif.bss_conf.ibss_joined = false;
1000 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED | 1000 ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BEACON_ENABLED |
1001 BSS_CHANGED_IBSS); 1001 BSS_CHANGED_IBSS);
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 4116a7542b6b..f4350262663f 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -456,7 +456,7 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
456 BSS_CHANGED_BEACON_ENABLED); 456 BSS_CHANGED_BEACON_ENABLED);
457 457
458 /* remove beacon */ 458 /* remove beacon */
459 rcu_assign_pointer(sdata->u.ap.beacon, NULL); 459 RCU_INIT_POINTER(sdata->u.ap.beacon, NULL);
460 synchronize_rcu(); 460 synchronize_rcu();
461 kfree(old_beacon); 461 kfree(old_beacon);
462 462
@@ -643,7 +643,7 @@ static const struct net_device_ops ieee80211_dataif_ops = {
643 .ndo_stop = ieee80211_stop, 643 .ndo_stop = ieee80211_stop,
644 .ndo_uninit = ieee80211_teardown_sdata, 644 .ndo_uninit = ieee80211_teardown_sdata,
645 .ndo_start_xmit = ieee80211_subif_start_xmit, 645 .ndo_start_xmit = ieee80211_subif_start_xmit,
646 .ndo_set_multicast_list = ieee80211_set_multicast_list, 646 .ndo_set_rx_mode = ieee80211_set_multicast_list,
647 .ndo_change_mtu = ieee80211_change_mtu, 647 .ndo_change_mtu = ieee80211_change_mtu,
648 .ndo_set_mac_address = ieee80211_change_mac, 648 .ndo_set_mac_address = ieee80211_change_mac,
649 .ndo_select_queue = ieee80211_netdev_select_queue, 649 .ndo_select_queue = ieee80211_netdev_select_queue,
@@ -687,7 +687,7 @@ static const struct net_device_ops ieee80211_monitorif_ops = {
687 .ndo_stop = ieee80211_stop, 687 .ndo_stop = ieee80211_stop,
688 .ndo_uninit = ieee80211_teardown_sdata, 688 .ndo_uninit = ieee80211_teardown_sdata,
689 .ndo_start_xmit = ieee80211_monitor_start_xmit, 689 .ndo_start_xmit = ieee80211_monitor_start_xmit,
690 .ndo_set_multicast_list = ieee80211_set_multicast_list, 690 .ndo_set_rx_mode = ieee80211_set_multicast_list,
691 .ndo_change_mtu = ieee80211_change_mtu, 691 .ndo_change_mtu = ieee80211_change_mtu,
692 .ndo_set_mac_address = eth_mac_addr, 692 .ndo_set_mac_address = eth_mac_addr,
693 .ndo_select_queue = ieee80211_monitor_select_queue, 693 .ndo_select_queue = ieee80211_monitor_select_queue,
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c
index 332b5ff1e885..7f54c5042235 100644
--- a/net/mac80211/mesh_pathtbl.c
+++ b/net/mac80211/mesh_pathtbl.c
@@ -1168,6 +1168,6 @@ void mesh_path_expire(struct ieee80211_sub_if_data *sdata)
1168void mesh_pathtbl_unregister(void) 1168void mesh_pathtbl_unregister(void)
1169{ 1169{
1170 /* no need for locking during exit path */ 1170 /* no need for locking during exit path */
1171 mesh_table_free(rcu_dereference_raw(mesh_paths), true); 1171 mesh_table_free(rcu_dereference_protected(mesh_paths, 1), true);
1172 mesh_table_free(rcu_dereference_raw(mpp_paths), true); 1172 mesh_table_free(rcu_dereference_protected(mpp_paths, 1), true);
1173} 1173}
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index c52e58c0a979..0a7e0fed3251 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -72,7 +72,7 @@ static int sta_info_hash_del(struct ieee80211_local *local,
72 if (!s) 72 if (!s)
73 return -ENOENT; 73 return -ENOENT;
74 if (s == sta) { 74 if (s == sta) {
75 rcu_assign_pointer(local->sta_hash[STA_HASH(sta->sta.addr)], 75 RCU_INIT_POINTER(local->sta_hash[STA_HASH(sta->sta.addr)],
76 s->hnext); 76 s->hnext);
77 return 0; 77 return 0;
78 } 78 }
@@ -82,7 +82,7 @@ static int sta_info_hash_del(struct ieee80211_local *local,
82 s = rcu_dereference_protected(s->hnext, 82 s = rcu_dereference_protected(s->hnext,
83 lockdep_is_held(&local->sta_lock)); 83 lockdep_is_held(&local->sta_lock));
84 if (rcu_access_pointer(s->hnext)) { 84 if (rcu_access_pointer(s->hnext)) {
85 rcu_assign_pointer(s->hnext, sta->hnext); 85 RCU_INIT_POINTER(s->hnext, sta->hnext);
86 return 0; 86 return 0;
87 } 87 }
88 88
@@ -231,7 +231,7 @@ static void sta_info_hash_add(struct ieee80211_local *local,
231 struct sta_info *sta) 231 struct sta_info *sta)
232{ 232{
233 sta->hnext = local->sta_hash[STA_HASH(sta->sta.addr)]; 233 sta->hnext = local->sta_hash[STA_HASH(sta->sta.addr)];
234 rcu_assign_pointer(local->sta_hash[STA_HASH(sta->sta.addr)], sta); 234 RCU_INIT_POINTER(local->sta_hash[STA_HASH(sta->sta.addr)], sta);
235} 235}
236 236
237static void sta_unblock(struct work_struct *wk) 237static void sta_unblock(struct work_struct *wk)
@@ -799,7 +799,7 @@ static int __must_check __sta_info_destroy(struct sta_info *sta)
799 local->sta_generation++; 799 local->sta_generation++;
800 800
801 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) 801 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
802 rcu_assign_pointer(sdata->u.vlan.sta, NULL); 802 RCU_INIT_POINTER(sdata->u.vlan.sta, NULL);
803 803
804 if (sta->uploaded) { 804 if (sta->uploaded) {
805 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) 805 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)