diff options
author | Ilan Peer <ilan.peer@intel.com> | 2018-01-22 08:55:06 +0200 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2018-03-02 10:20:02 +0200 |
commit | 7c305de2b9548ab6b65fce342c78618bbed5db73 (patch) | |
tree | 23dbd26e1652a0c74db383c0d1a4ff76172279c6 /drivers/net/wireless/intel/iwlwifi/mvm/tx.c | |
parent | e4f13ad07823b24a1537518d2163bd164292fb10 (diff) | |
download | talos-obmc-linux-7c305de2b9548ab6b65fce342c78618bbed5db73.tar.gz talos-obmc-linux-7c305de2b9548ab6b65fce342c78618bbed5db73.zip |
iwlwifi: mvm: Direct multicast frames to the correct station
Multicast frames for NL80211_IFTYPE_AP and NL80211_IFTYPE_ADHOC were
directed to the broadcast station, however, as the broadcast station
did not have keys configured, these frames were sent unencrypted.
Fix this by using the multicast station which is the station for which
encryption keys are configured.
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/tx.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c index 57ad6019ffad..af6dfceab6b8 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c @@ -648,7 +648,11 @@ int iwl_mvm_tx_skb_non_sta(struct iwl_mvm *mvm, struct sk_buff *skb) if (info.control.vif->type == NL80211_IFTYPE_P2P_DEVICE || info.control.vif->type == NL80211_IFTYPE_AP || info.control.vif->type == NL80211_IFTYPE_ADHOC) { - sta_id = mvmvif->bcast_sta.sta_id; + if (info.control.vif->type == NL80211_IFTYPE_P2P_DEVICE) + sta_id = mvmvif->bcast_sta.sta_id; + else + sta_id = mvmvif->mcast_sta.sta_id; + queue = iwl_mvm_get_ctrl_vif_queue(mvm, &info, hdr->frame_control); if (queue < 0) |