aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 854ef4ed2cf..75b896d47ea 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1653,7 +1653,7 @@ ieee80211_rx_result ieee80211_sta_rx_mgmt(struct ieee80211_sub_if_data *sdata,
1653 case IEEE80211_STYPE_DISASSOC: 1653 case IEEE80211_STYPE_DISASSOC:
1654 case IEEE80211_STYPE_ACTION: 1654 case IEEE80211_STYPE_ACTION:
1655 skb_queue_tail(&sdata->skb_queue, skb); 1655 skb_queue_tail(&sdata->skb_queue, skb);
1656 ieee80211_queue_work(&local->hw, &sdata->u.mgd.work); 1656 ieee80211_queue_work(&local->hw, &sdata->work);
1657 return RX_QUEUED; 1657 return RX_QUEUED;
1658 } 1658 }
1659 1659
@@ -1779,13 +1779,13 @@ static void ieee80211_sta_timer(unsigned long data)
1779 return; 1779 return;
1780 } 1780 }
1781 1781
1782 ieee80211_queue_work(&local->hw, &ifmgd->work); 1782 ieee80211_queue_work(&local->hw, &sdata->work);
1783} 1783}
1784 1784
1785static void ieee80211_sta_work(struct work_struct *work) 1785static void ieee80211_sta_work(struct work_struct *work)
1786{ 1786{
1787 struct ieee80211_sub_if_data *sdata = 1787 struct ieee80211_sub_if_data *sdata =
1788 container_of(work, struct ieee80211_sub_if_data, u.mgd.work); 1788 container_of(work, struct ieee80211_sub_if_data, work);
1789 struct ieee80211_local *local = sdata->local; 1789 struct ieee80211_local *local = sdata->local;
1790 struct ieee80211_if_managed *ifmgd; 1790 struct ieee80211_if_managed *ifmgd;
1791 struct sk_buff *skb; 1791 struct sk_buff *skb;
@@ -1906,8 +1906,7 @@ static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata)
1906 ieee80211_queue_work(&sdata->local->hw, 1906 ieee80211_queue_work(&sdata->local->hw,
1907 &sdata->u.mgd.monitor_work); 1907 &sdata->u.mgd.monitor_work);
1908 /* and do all the other regular work too */ 1908 /* and do all the other regular work too */
1909 ieee80211_queue_work(&sdata->local->hw, 1909 ieee80211_queue_work(&sdata->local->hw, &sdata->work);
1910 &sdata->u.mgd.work);
1911 } 1910 }
1912} 1911}
1913 1912
@@ -1922,7 +1921,6 @@ void ieee80211_sta_quiesce(struct ieee80211_sub_if_data *sdata)
1922 * time -- the code here is properly synchronised. 1921 * time -- the code here is properly synchronised.
1923 */ 1922 */
1924 1923
1925 cancel_work_sync(&ifmgd->work);
1926 cancel_work_sync(&ifmgd->beacon_connection_loss_work); 1924 cancel_work_sync(&ifmgd->beacon_connection_loss_work);
1927 if (del_timer_sync(&ifmgd->timer)) 1925 if (del_timer_sync(&ifmgd->timer))
1928 set_bit(TMR_RUNNING_TIMER, &ifmgd->timers_running); 1926 set_bit(TMR_RUNNING_TIMER, &ifmgd->timers_running);
@@ -1954,7 +1952,7 @@ void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata)
1954 struct ieee80211_if_managed *ifmgd; 1952 struct ieee80211_if_managed *ifmgd;
1955 1953
1956 ifmgd = &sdata->u.mgd; 1954 ifmgd = &sdata->u.mgd;
1957 INIT_WORK(&ifmgd->work, ieee80211_sta_work); 1955 INIT_WORK(&sdata->work, ieee80211_sta_work);
1958 INIT_WORK(&ifmgd->monitor_work, ieee80211_sta_monitor_work); 1956 INIT_WORK(&ifmgd->monitor_work, ieee80211_sta_monitor_work);
1959 INIT_WORK(&ifmgd->chswitch_work, ieee80211_chswitch_work); 1957 INIT_WORK(&ifmgd->chswitch_work, ieee80211_chswitch_work);
1960 INIT_WORK(&ifmgd->beacon_connection_loss_work, 1958 INIT_WORK(&ifmgd->beacon_connection_loss_work,