[PATCH] ath10k: Enable encrytion of ADDBA request in PMF configuration

Michal Kazior michal.kazior at tieto.com
Mon Mar 2 00:22:40 PST 2015


On 28 February 2015 at 11:18, SenthilKumar Jegadeesan
<sjegadee at qti.qualcomm.com> wrote:
> In HT mode, firmware is not encrypting ADDBA request as PMF
> configuration is not set in peer flags during association.
>
> Set peer flags for MFP enabled station in ath10k driver.
>
> Implemented abstraction layer for peer flags.
>
> This change depends on mac80211 patch "[PATCH] mac80211: send
> station PMF configuration to driver".
>
> Signed-off-by: SenthilKumar Jegadeesan <sjegadee at qti.qualcomm.com>
[...]
>  static bool ath10k_mac_sta_has_11g_rates(struct ieee80211_sta *sta)
> @@ -1752,6 +1759,11 @@ static int ath10k_peer_assoc_prepare(struct ath10k *ar,
>         ath10k_peer_assoc_h_qos(ar, vif, sta, arg);
>         ath10k_peer_assoc_h_phymode(ar, vif, sta, arg);
>
> +       if (sta->mfp) {
> +               if (ar->wmi.op_version == ATH10K_FW_WMI_OP_VERSION_10_2_4)
> +                       arg->peer_flags |= ar->wmi.peer_flags->wmi_peer_pmf;
> +       }

Why do you check for op_version here? Isn't the peer flag mapping
supposed to deal with the problem already?

This should be just:

 if (sta->mfp)
    arg->peer_flags |= ar->wmi.peer_flags->wmi_peer_pmf;

Backends which don't support PMF would have the wmi_peer_mpf = 0 so
`|= ` would change nothing.

I also think this should be in a separate patch (i.e. patch1=introduce
peer flag map, patch2=mfp fix).


[...]
> +struct wmi_peer_flags_map {
> +       u32 wmi_peer_auth;
> +       u32 wmi_peer_qos;
> +       u32 wmi_peer_need_ptk_4_way;
> +       u32 wmi_peer_need_gtk_2_way;
> +       u32 wmi_peer_apsd;
> +       u32 wmi_peer_ht;
> +       u32 wmi_peer_40MHZ;
> +       u32 wmi_peer_stbc;
> +       u32 wmi_peer_ldbc;
> +       u32 wmi_peer_dyn_mimops;
> +       u32 wmi_peer_static_mimops;
> +       u32 wmi_peer_spatial_mux;
> +       u32 wmi_peer_vht;
> +       u32 wmi_peer_80MHZ;
> +       u32 wmi_peer_vht_2g;
> +       u32 wmi_peer_pmf;
> +};

Does it make sense to have the wmi_peer_ prefix for each entry?
Without it it'd be less wrapping to fit into 80 column limit.

The `MHZ` should probably lower case. It doesn't make much sense to
promote them to uppercase. These will also be a problem if you strip
wmi_peer_ (can't start a symbol with a number) so perhaps bw40/bw80 or
bw_40mhz/bw_80mhz would be fine?


Other than that this looks good. Thanks!


Michał



More information about the ath10k mailing list