Commit eb84567e authored by Sascha Hauer's avatar Sascha Hauer Committed by Kalle Valo
Browse files

wifi: mwifiex: simplify WPA flags setting



The WPA flags setting only depends on the wpa_versions bitfield and not
on the AKM suite, so move it out of the switch/case to simplify the code
a bit. Also set bss_config->protocol to zero explicitly. This is done
only to make the code clearer, bss_config has been zero alloced by the
caller, so should be zero already. No functional change intended.

Reviewed-by: default avatarFrancesco Dolcini <francesco.dolcini@toradex.com>
Acked-by: default avatarBrian Norris <briannorris@chromium.org>
Link: https://lore.kernel.org/r/20240723-mwifiex-wpa-psk-sha256-v3-1-025168a91da1@pengutronix.de


Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20240805-mwifiex-wpa-psk-sha256-v4-1-e1eee80508e6@pengutronix.de
parent 4ab9f870
Loading
Loading
Loading
Loading
+8 −21
Original line number Diff line number Diff line
@@ -46,34 +46,21 @@ int mwifiex_set_secure_params(struct mwifiex_private *priv,

	bss_config->key_mgmt_operation |= KEY_MGMT_ON_HOST;

	bss_config->protocol = 0;
	if (params->crypto.wpa_versions & NL80211_WPA_VERSION_1)
		bss_config->protocol |= PROTOCOL_WPA;
	if (params->crypto.wpa_versions & NL80211_WPA_VERSION_2)
		bss_config->protocol |= PROTOCOL_WPA2;

	for (i = 0; i < params->crypto.n_akm_suites; i++) {
		switch (params->crypto.akm_suites[i]) {
		case WLAN_AKM_SUITE_8021X:
			if (params->crypto.wpa_versions &
			    NL80211_WPA_VERSION_1) {
				bss_config->protocol = PROTOCOL_WPA;
				bss_config->key_mgmt = KEY_MGMT_EAP;
			}
			if (params->crypto.wpa_versions &
			    NL80211_WPA_VERSION_2) {
				bss_config->protocol |= PROTOCOL_WPA2;
			bss_config->key_mgmt = KEY_MGMT_EAP;
			}
			break;
		case WLAN_AKM_SUITE_PSK:
			if (params->crypto.wpa_versions &
			    NL80211_WPA_VERSION_1) {
				bss_config->protocol = PROTOCOL_WPA;
				bss_config->key_mgmt = KEY_MGMT_PSK;
			}
			if (params->crypto.wpa_versions &
			    NL80211_WPA_VERSION_2) {
				bss_config->protocol |= PROTOCOL_WPA2;
			bss_config->key_mgmt = KEY_MGMT_PSK;
			}
			break;
		case WLAN_AKM_SUITE_SAE:
			bss_config->protocol = PROTOCOL_WPA2;
			bss_config->key_mgmt = KEY_MGMT_SAE;
			break;
		default: