Alexis Lothoré <alexis.lothore@xxxxxxxxxxx> writes: > User-space supplicant (observed at least on wpa_supplicant) historically > parses the NL80211_ATTR_AKM_SUITES from the NL80211_CMD_EXTERNAL_AUTH > message as big endian _only_ when its value is WLAN_AKM_SUITE_SAE, while > processing anything else in host endian. This behavior makes any driver > relying on SAE external auth to switch AKM suite to big endian if it is > WLAN_AKM_SUITE_SAE. A fix bringing compatibility with both endianness > has been brought into wpa_supplicant, however we must keep compatibility > with older versions, while trying to reduce the occurences of this manual > conversion in wireless drivers. > > Add the be32 conversion specifically on WLAN_AKM_SUITE_SAE in nl80211 layer > to keep compatibility with older wpa_supplicant versions. > > Suggested-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > Signed-off-by: Alexis Lothoré <alexis.lothore@xxxxxxxxxxx> A pointer to the discussion would be nice to have: Link: https://lore.kernel.org/all/09eeb7d4-c922-45ee-a1ac-59942153dbce@xxxxxxxxxxx/ I assume Johannes can add that. Alexis, thanks so much for working on this! This has been bugging me for long but never found the time to investigate it. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches