Re: [PATCH v11 2/2] wifi: mwifiex: add host mlme for AP mode

From: Brian Norris
Date: Mon Jul 08 2024 - 15:26:51 EST


Hi David,

On Thu, Jul 04, 2024 at 11:30:01AM +0800, David Lin wrote:
> Add host based MLME to enable WPA3 functionalities in AP mode.
> This feature required a firmware with the corresponding V2 Key API
> support. The feature (WPA3) is currently enabled and verified only
> on IW416. Also, verified no regression with change when host MLME
> is disabled.
>
> Signed-off-by: David Lin <yu-hao.lin@xxxxxxx>
> Reviewed-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
> Acked-by: Brian Norris <briannorris@xxxxxxxxxxxx>
> ---
>
> v11:
> - modify 'mwifiex_mgmt_stypes' to allow multi-adapters with different
> setting of host_mlme_enbaled.
...
> - wiphy->mgmt_stypes = mwifiex_mgmt_stypes;
> + if (adapter->host_mlme_enabled) {
> + memcpy(adapter->mwifiex_mgmt_stypes,
> + mwifiex_mgmt_stypes,
> + NUM_NL80211_IFTYPES *
> + sizeof(struct ieee80211_txrx_stypes));
> +
> + adapter->mwifiex_mgmt_stypes[NL80211_IFTYPE_AP].tx = 0xffff;
> + adapter->mwifiex_mgmt_stypes[NL80211_IFTYPE_AP].rx =
> + BIT(IEEE80211_STYPE_ASSOC_REQ >> 4) |
> + BIT(IEEE80211_STYPE_REASSOC_REQ >> 4) |
> + BIT(IEEE80211_STYPE_PROBE_REQ >> 4) |
> + BIT(IEEE80211_STYPE_DISASSOC >> 4) |
> + BIT(IEEE80211_STYPE_AUTH >> 4) |
> + BIT(IEEE80211_STYPE_DEAUTH >> 4) |
> + BIT(IEEE80211_STYPE_ACTION >> 4);
> + wiphy->mgmt_stypes = adapter->mwifiex_mgmt_stypes;
> + } else {
> + wiphy->mgmt_stypes = mwifiex_mgmt_stypes;
> + }
> wiphy->max_remain_on_channel_duration = 5000;
> wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
> BIT(NL80211_IFTYPE_P2P_CLIENT) |
...
> --- a/drivers/net/wireless/marvell/mwifiex/main.h
> +++ b/drivers/net/wireless/marvell/mwifiex/main.h
> @@ -1008,6 +1008,7 @@ struct mwifiex_adapter {
>
> bool ext_scan;
> bool host_mlme_enabled;
> + struct ieee80211_txrx_stypes mwifiex_mgmt_stypes[NUM_NL80211_IFTYPES];

This wasn't exactly what I had in mind by a "second copy" of
mwifiex_mgmt_stypes -- that you add a new array to mwifiex_adapter that
is only sometimes used. I meant something more like a const
'mwifiex_mgmt_stypes_mlme`, with the appropriate constant values. But I
suppose this works too, if a bit awkward, and saves a bit of code/data
duplication.

So, the 'Acked-by' still seems appropriate.

Thanks for the patience on this series.

Brian