diff options
author | Scott Wood <scottwood@freescale.com> | 2013-05-01 22:19:25 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2013-05-01 22:19:25 (GMT) |
commit | b473ec774f845e5bd9eb7cbdb534e8e73e876984 (patch) | |
tree | affc3fdc6d59b68f71ab33473a288cd7d0cfaf1b /net | |
parent | 67fd4ede72eb65c7960b339cc4981cdcb0f93510 (diff) | |
parent | 01d479a379d0ba80b10f365743b18779e8f6684d (diff) | |
download | linux-fsl-qoriq-b473ec774f845e5bd9eb7cbdb534e8e73e876984.tar.xz |
Merge branch 'rtmerge'
Conflicts:
include/linux/preempt.h
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/mlme.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index e14e676..a1a7997 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -3723,8 +3723,16 @@ int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, /* prep auth_data so we don't go into idle on disassoc */ ifmgd->auth_data = auth_data; - if (ifmgd->associated) - ieee80211_set_disassoc(sdata, 0, 0, false, NULL); + if (ifmgd->associated) { + u8 frame_buf[IEEE80211_DEAUTH_FRAME_LEN]; + + ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH, + WLAN_REASON_UNSPECIFIED, + false, frame_buf); + + __cfg80211_send_deauth(sdata->dev, frame_buf, + sizeof(frame_buf)); + } sdata_info(sdata, "authenticate with %pM\n", req->bss->bssid); @@ -3783,8 +3791,16 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata, mutex_lock(&ifmgd->mtx); - if (ifmgd->associated) - ieee80211_set_disassoc(sdata, 0, 0, false, NULL); + if (ifmgd->associated) { + u8 frame_buf[IEEE80211_DEAUTH_FRAME_LEN]; + + ieee80211_set_disassoc(sdata, IEEE80211_STYPE_DEAUTH, + WLAN_REASON_UNSPECIFIED, + false, frame_buf); + + __cfg80211_send_deauth(sdata->dev, frame_buf, + sizeof(frame_buf)); + } if (ifmgd->auth_data && !ifmgd->auth_data->done) { err = -EBUSY; |