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>
This commit is contained in:

committed by
John W. Linville

parent
c238c8ac63
commit
cb0b4beb93
@@ -412,11 +412,9 @@ static void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata,
|
||||
mgmt->u.deauth.reason_code = cpu_to_le16(reason);
|
||||
|
||||
if (stype == IEEE80211_STYPE_DEAUTH)
|
||||
cfg80211_send_deauth(sdata->dev, (u8 *) mgmt, skb->len,
|
||||
GFP_KERNEL);
|
||||
cfg80211_send_deauth(sdata->dev, (u8 *) mgmt, skb->len);
|
||||
else
|
||||
cfg80211_send_disassoc(sdata->dev, (u8 *) mgmt, skb->len,
|
||||
GFP_KERNEL);
|
||||
cfg80211_send_disassoc(sdata->dev, (u8 *) mgmt, skb->len);
|
||||
ieee80211_tx_skb(sdata, skb, ifmgd->flags & IEEE80211_STA_MFP_ENABLED);
|
||||
}
|
||||
|
||||
@@ -1839,12 +1837,10 @@ static void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
|
||||
/* no action */
|
||||
break;
|
||||
case RX_MGMT_CFG80211_DEAUTH:
|
||||
cfg80211_send_deauth(sdata->dev, (u8 *) mgmt,
|
||||
skb->len, GFP_KERNEL);
|
||||
cfg80211_send_deauth(sdata->dev, (u8 *)mgmt, skb->len);
|
||||
break;
|
||||
case RX_MGMT_CFG80211_DISASSOC:
|
||||
cfg80211_send_disassoc(sdata->dev, (u8 *) mgmt,
|
||||
skb->len, GFP_KERNEL);
|
||||
cfg80211_send_disassoc(sdata->dev, (u8 *)mgmt, skb->len);
|
||||
break;
|
||||
default:
|
||||
WARN(1, "unexpected: %d", rma);
|
||||
@@ -1893,12 +1889,10 @@ static void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata,
|
||||
/* no action */
|
||||
break;
|
||||
case RX_MGMT_CFG80211_AUTH:
|
||||
cfg80211_send_rx_auth(sdata->dev, (u8 *) mgmt, skb->len,
|
||||
GFP_KERNEL);
|
||||
cfg80211_send_rx_auth(sdata->dev, (u8 *) mgmt, skb->len);
|
||||
break;
|
||||
case RX_MGMT_CFG80211_ASSOC:
|
||||
cfg80211_send_rx_assoc(sdata->dev, (u8 *) mgmt, skb->len,
|
||||
GFP_KERNEL);
|
||||
cfg80211_send_rx_assoc(sdata->dev, (u8 *) mgmt, skb->len);
|
||||
break;
|
||||
default:
|
||||
WARN(1, "unexpected: %d", rma);
|
||||
@@ -2026,13 +2020,11 @@ static void ieee80211_sta_work(struct work_struct *work)
|
||||
switch (wk->tries) {
|
||||
case RX_MGMT_CFG80211_AUTH_TO:
|
||||
cfg80211_send_auth_timeout(sdata->dev,
|
||||
wk->bss->cbss.bssid,
|
||||
GFP_KERNEL);
|
||||
wk->bss->cbss.bssid);
|
||||
break;
|
||||
case RX_MGMT_CFG80211_ASSOC_TO:
|
||||
cfg80211_send_auth_timeout(sdata->dev,
|
||||
wk->bss->cbss.bssid,
|
||||
GFP_KERNEL);
|
||||
cfg80211_send_assoc_timeout(sdata->dev,
|
||||
wk->bss->cbss.bssid);
|
||||
break;
|
||||
default:
|
||||
WARN(1, "unexpected: %d", wk->tries);
|
||||
|
Reference in New Issue
Block a user