diff options
Diffstat (limited to 'net/mac80211/ibss.c')
-rw-r--r-- | net/mac80211/ibss.c | 7 |
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 | ||