aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-07-06 21:56:07 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 15:02:31 -0400
commitcb0b4beb93d14429bf0c50fc1ab8e26348dca880 (patch)
tree2bdb9aa1f2b3e7e2fdd9425da5ab6aa062134aa5 /net/mac80211
parentc238c8ac63f2d33ea5e7c0b9e9e0ccd8ae9a34e4 (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.c26
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);