aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ibss.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-06-10 04:21:30 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-14 15:38:17 -0400
commit35f20c14a103ca2c7062999e934a513b83d84de6 (patch)
tree780e5dd272b685d7b82fdd849b886553d203c430 /net/mac80211/ibss.c
parent2a419056c15478d2df3f3e9d4fa64e34eb1faa7d (diff)
mac80211: use common skb queue
IBSS, managed and mesh modes all have an skb queue, and in the future we want to also use it in other modes, so make them all use a common skb queue already. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/ibss.c')
-rw-r--r--net/mac80211/ibss.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index d7a96ced2c83..a9ff904620db 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -779,7 +779,7 @@ static void ieee80211_ibss_work(struct work_struct *work)
779 return; 779 return;
780 ifibss = &sdata->u.ibss; 780 ifibss = &sdata->u.ibss;
781 781
782 while ((skb = skb_dequeue(&ifibss->skb_queue))) 782 while ((skb = skb_dequeue(&sdata->skb_queue)))
783 ieee80211_ibss_rx_queued_mgmt(sdata, skb); 783 ieee80211_ibss_rx_queued_mgmt(sdata, skb);
784 784
785 if (!test_and_clear_bit(IEEE80211_IBSS_REQ_RUN, &ifibss->request)) 785 if (!test_and_clear_bit(IEEE80211_IBSS_REQ_RUN, &ifibss->request))
@@ -850,7 +850,6 @@ void ieee80211_ibss_setup_sdata(struct ieee80211_sub_if_data *sdata)
850 INIT_WORK(&ifibss->work, ieee80211_ibss_work); 850 INIT_WORK(&ifibss->work, ieee80211_ibss_work);
851 setup_timer(&ifibss->timer, ieee80211_ibss_timer, 851 setup_timer(&ifibss->timer, ieee80211_ibss_timer,
852 (unsigned long) sdata); 852 (unsigned long) sdata);
853 skb_queue_head_init(&ifibss->skb_queue);
854} 853}
855 854
856/* scan finished notification */ 855/* scan finished notification */
@@ -890,7 +889,7 @@ ieee80211_ibss_rx_mgmt(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb)
890 case IEEE80211_STYPE_BEACON: 889 case IEEE80211_STYPE_BEACON:
891 case IEEE80211_STYPE_PROBE_REQ: 890 case IEEE80211_STYPE_PROBE_REQ:
892 case IEEE80211_STYPE_AUTH: 891 case IEEE80211_STYPE_AUTH:
893 skb_queue_tail(&sdata->u.ibss.skb_queue, skb); 892 skb_queue_tail(&sdata->skb_queue, skb);
894 ieee80211_queue_work(&local->hw, &sdata->u.ibss.work); 893 ieee80211_queue_work(&local->hw, &sdata->u.ibss.work);
895 return RX_QUEUED; 894 return RX_QUEUED;
896 } 895 }
@@ -983,7 +982,7 @@ int ieee80211_ibss_leave(struct ieee80211_sub_if_data *sdata)
983 synchronize_rcu(); 982 synchronize_rcu();
984 kfree_skb(skb); 983 kfree_skb(skb);
985 984
986 skb_queue_purge(&sdata->u.ibss.skb_queue); 985 skb_queue_purge(&sdata->skb_queue);
987 memset(sdata->u.ibss.bssid, 0, ETH_ALEN); 986 memset(sdata->u.ibss.bssid, 0, ETH_ALEN);
988 sdata->u.ibss.ssid_len = 0; 987 sdata->u.ibss.ssid_len = 0;
989 988