diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2009-07-06 21:56:07 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-10 15:02:31 -0400 |
commit | cb0b4beb93d14429bf0c50fc1ab8e26348dca880 (patch) | |
tree | 2bdb9aa1f2b3e7e2fdd9425da5ab6aa062134aa5 /net/mac80211 | |
parent | c238c8ac63f2d33ea5e7c0b9e9e0ccd8ae9a34e4 (diff) |
cfg80211: mlme API must be able to sleep
After the mac80211 mlme cleanup, we can require that
the MLME functions in cfg80211 can sleep. This will
simplify future work in cfg80211 a lot.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/mlme.c | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 108e8c9c60fd..15dbb57ab55e 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -412,11 +412,9 @@ static void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata, | |||
412 | mgmt->u.deauth.reason_code = cpu_to_le16(reason); | 412 | mgmt->u.deauth.reason_code = cpu_to_le16(reason); |
413 | 413 | ||
414 | if (stype == IEEE80211_STYPE_DEAUTH) | 414 | if (stype == IEEE80211_STYPE_DEAUTH) |
415 | cfg80211_send_deauth(sdata->dev, (u8 *) mgmt, skb->len, | 415 | cfg80211_send_deauth(sdata->dev, (u8 *) mgmt, skb->len); |
416 | GFP_KERNEL); | ||
417 | else | 416 | else |
418 | cfg80211_send_disassoc(sdata->dev, (u8 *) mgmt, skb->len, | 417 | cfg80211_send_disassoc(sdata->dev, (u8 *) mgmt, skb->len); |
419 | GFP_KERNEL); | ||
420 | ieee80211_tx_skb(sdata, skb, ifmgd->flags & IEEE80211_STA_MFP_ENABLED); | 418 | ieee80211_tx_skb(sdata, skb, ifmgd->flags & IEEE80211_STA_MFP_ENABLED); |
421 | } | 419 | } |
422 | 420 | ||
@@ -1839,12 +1837,10 @@ static void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata, | |||
1839 | /* no action */ | 1837 | /* no action */ |
1840 | break; | 1838 | break; |
1841 | case RX_MGMT_CFG80211_DEAUTH: | 1839 | case RX_MGMT_CFG80211_DEAUTH: |
1842 | cfg80211_send_deauth(sdata->dev, (u8 *) mgmt, | 1840 | cfg80211_send_deauth(sdata->dev, (u8 *)mgmt, skb->len); |
1843 | skb->len, GFP_KERNEL); | ||
1844 | break; | 1841 | break; |
1845 | case RX_MGMT_CFG80211_DISASSOC: | 1842 | case RX_MGMT_CFG80211_DISASSOC: |
1846 | cfg80211_send_disassoc(sdata->dev, (u8 *) mgmt, | 1843 | cfg80211_send_disassoc(sdata->dev, (u8 *)mgmt, skb->len); |
1847 | skb->len, GFP_KERNEL); | ||
1848 | break; | 1844 | break; |
1849 | default: | 1845 | default: |
1850 | WARN(1, "unexpected: %d", rma); | 1846 | WARN(1, "unexpected: %d", rma); |
@@ -1893,12 +1889,10 @@ static void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata, | |||
1893 | /* no action */ | 1889 | /* no action */ |
1894 | break; | 1890 | break; |
1895 | case RX_MGMT_CFG80211_AUTH: | 1891 | case RX_MGMT_CFG80211_AUTH: |
1896 | cfg80211_send_rx_auth(sdata->dev, (u8 *) mgmt, skb->len, | 1892 | cfg80211_send_rx_auth(sdata->dev, (u8 *) mgmt, skb->len); |
1897 | GFP_KERNEL); | ||
1898 | break; | 1893 | break; |
1899 | case RX_MGMT_CFG80211_ASSOC: | 1894 | case RX_MGMT_CFG80211_ASSOC: |
1900 | cfg80211_send_rx_assoc(sdata->dev, (u8 *) mgmt, skb->len, | 1895 | cfg80211_send_rx_assoc(sdata->dev, (u8 *) mgmt, skb->len); |
1901 | GFP_KERNEL); | ||
1902 | break; | 1896 | break; |
1903 | default: | 1897 | default: |
1904 | WARN(1, "unexpected: %d", rma); | 1898 | WARN(1, "unexpected: %d", rma); |
@@ -2026,13 +2020,11 @@ static void ieee80211_sta_work(struct work_struct *work) | |||
2026 | switch (wk->tries) { | 2020 | switch (wk->tries) { |
2027 | case RX_MGMT_CFG80211_AUTH_TO: | 2021 | case RX_MGMT_CFG80211_AUTH_TO: |
2028 | cfg80211_send_auth_timeout(sdata->dev, | 2022 | cfg80211_send_auth_timeout(sdata->dev, |
2029 | wk->bss->cbss.bssid, | 2023 | wk->bss->cbss.bssid); |
2030 | GFP_KERNEL); | ||
2031 | break; | 2024 | break; |
2032 | case RX_MGMT_CFG80211_ASSOC_TO: | 2025 | case RX_MGMT_CFG80211_ASSOC_TO: |
2033 | cfg80211_send_auth_timeout(sdata->dev, | 2026 | cfg80211_send_assoc_timeout(sdata->dev, |
2034 | wk->bss->cbss.bssid, | 2027 | wk->bss->cbss.bssid); |
2035 | GFP_KERNEL); | ||
2036 | break; | 2028 | break; |
2037 | default: | 2029 | default: |
2038 | WARN(1, "unexpected: %d", wk->tries); | 2030 | WARN(1, "unexpected: %d", wk->tries); |