diff options
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index dc5049d58c51..dcc14e99227c 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -458,9 +458,15 @@ static void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata, | |||
458 | mgmt->u.deauth.reason_code = cpu_to_le16(reason); | 458 | mgmt->u.deauth.reason_code = cpu_to_le16(reason); |
459 | 459 | ||
460 | if (stype == IEEE80211_STYPE_DEAUTH) | 460 | if (stype == IEEE80211_STYPE_DEAUTH) |
461 | cfg80211_send_deauth(sdata->dev, (u8 *)mgmt, skb->len, cookie); | 461 | if (cookie) |
462 | __cfg80211_send_deauth(sdata->dev, (u8 *)mgmt, skb->len); | ||
463 | else | ||
464 | cfg80211_send_deauth(sdata->dev, (u8 *)mgmt, skb->len); | ||
462 | else | 465 | else |
463 | cfg80211_send_disassoc(sdata->dev, (u8 *)mgmt, skb->len, cookie); | 466 | if (cookie) |
467 | __cfg80211_send_disassoc(sdata->dev, (u8 *)mgmt, skb->len); | ||
468 | else | ||
469 | cfg80211_send_disassoc(sdata->dev, (u8 *)mgmt, skb->len); | ||
464 | ieee80211_tx_skb(sdata, skb, ifmgd->flags & IEEE80211_STA_MFP_ENABLED); | 470 | ieee80211_tx_skb(sdata, skb, ifmgd->flags & IEEE80211_STA_MFP_ENABLED); |
465 | } | 471 | } |
466 | 472 | ||
@@ -923,7 +929,7 @@ static void ieee80211_set_associated(struct ieee80211_sub_if_data *sdata, | |||
923 | ieee80211_recalc_ps(local, -1); | 929 | ieee80211_recalc_ps(local, -1); |
924 | mutex_unlock(&local->iflist_mtx); | 930 | mutex_unlock(&local->iflist_mtx); |
925 | 931 | ||
926 | netif_tx_start_all_queues(sdata->dev); | 932 | netif_start_queue(sdata->dev); |
927 | netif_carrier_on(sdata->dev); | 933 | netif_carrier_on(sdata->dev); |
928 | } | 934 | } |
929 | 935 | ||
@@ -1055,7 +1061,7 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata, | |||
1055 | * time -- we don't want the scan code to enable queues. | 1061 | * time -- we don't want the scan code to enable queues. |
1056 | */ | 1062 | */ |
1057 | 1063 | ||
1058 | netif_tx_stop_all_queues(sdata->dev); | 1064 | netif_stop_queue(sdata->dev); |
1059 | netif_carrier_off(sdata->dev); | 1065 | netif_carrier_off(sdata->dev); |
1060 | 1066 | ||
1061 | rcu_read_lock(); | 1067 | rcu_read_lock(); |
@@ -1958,12 +1964,10 @@ static void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata, | |||
1958 | /* no action */ | 1964 | /* no action */ |
1959 | break; | 1965 | break; |
1960 | case RX_MGMT_CFG80211_DEAUTH: | 1966 | case RX_MGMT_CFG80211_DEAUTH: |
1961 | cfg80211_send_deauth(sdata->dev, (u8 *)mgmt, skb->len, | 1967 | cfg80211_send_deauth(sdata->dev, (u8 *)mgmt, skb->len); |
1962 | NULL); | ||
1963 | break; | 1968 | break; |
1964 | case RX_MGMT_CFG80211_DISASSOC: | 1969 | case RX_MGMT_CFG80211_DISASSOC: |
1965 | cfg80211_send_disassoc(sdata->dev, (u8 *)mgmt, skb->len, | 1970 | cfg80211_send_disassoc(sdata->dev, (u8 *)mgmt, skb->len); |
1966 | NULL); | ||
1967 | break; | 1971 | break; |
1968 | default: | 1972 | default: |
1969 | WARN(1, "unexpected: %d", rma); | 1973 | WARN(1, "unexpected: %d", rma); |
@@ -2018,7 +2022,7 @@ static void ieee80211_sta_rx_queued_mgmt(struct ieee80211_sub_if_data *sdata, | |||
2018 | cfg80211_send_rx_assoc(sdata->dev, (u8 *) mgmt, skb->len); | 2022 | cfg80211_send_rx_assoc(sdata->dev, (u8 *) mgmt, skb->len); |
2019 | break; | 2023 | break; |
2020 | case RX_MGMT_CFG80211_DEAUTH: | 2024 | case RX_MGMT_CFG80211_DEAUTH: |
2021 | cfg80211_send_deauth(sdata->dev, (u8 *)mgmt, skb->len, NULL); | 2025 | cfg80211_send_deauth(sdata->dev, (u8 *)mgmt, skb->len); |
2022 | break; | 2026 | break; |
2023 | default: | 2027 | default: |
2024 | WARN(1, "unexpected: %d", rma); | 2028 | WARN(1, "unexpected: %d", rma); |