aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
authorAntonio Quartulli <ordex@autistici.org>2012-01-09 13:43:06 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-01-24 14:08:39 -0500
commitefa6a09db6d6c27557fb55299b9835b45b968eae (patch)
tree6ce9d715266bd618c35e1dc8bff7087ae9badae5 /net/mac80211/util.c
parente9980e6d20a5c4d3f52359142ab3569171759a5b (diff)
mac80211: In IBSS the DA field of auth frames is different from BSSID
In case of authentication frame exchange between two IBSS STAs, the DA field must contain the destinatioin address (instead of the BSSID). Signed-off-by: Antonio Quartulli <ordex@autistici.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r--net/mac80211/util.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 9919892575f4..30d72e2af7ce 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -862,8 +862,8 @@ u32 ieee80211_mandatory_rates(struct ieee80211_local *local,
862 862
863void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata, 863void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata,
864 u16 transaction, u16 auth_alg, 864 u16 transaction, u16 auth_alg,
865 u8 *extra, size_t extra_len, const u8 *bssid, 865 u8 *extra, size_t extra_len, const u8 *da,
866 const u8 *key, u8 key_len, u8 key_idx) 866 const u8 *bssid, const u8 *key, u8 key_len, u8 key_idx)
867{ 867{
868 struct ieee80211_local *local = sdata->local; 868 struct ieee80211_local *local = sdata->local;
869 struct sk_buff *skb; 869 struct sk_buff *skb;
@@ -881,7 +881,7 @@ void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata,
881 memset(mgmt, 0, 24 + 6); 881 memset(mgmt, 0, 24 + 6);
882 mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT | 882 mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT |
883 IEEE80211_STYPE_AUTH); 883 IEEE80211_STYPE_AUTH);
884 memcpy(mgmt->da, bssid, ETH_ALEN); 884 memcpy(mgmt->da, da, ETH_ALEN);
885 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); 885 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
886 memcpy(mgmt->bssid, bssid, ETH_ALEN); 886 memcpy(mgmt->bssid, bssid, ETH_ALEN);
887 mgmt->u.auth.auth_alg = cpu_to_le16(auth_alg); 887 mgmt->u.auth.auth_alg = cpu_to_le16(auth_alg);