Re: [PATCH 6/6] brcmfmac: Update SSID of hidden AP while informing its bss to cfg80211 layer
From: Kalle Valo
Date: Thu Sep 22 2022 - 00:43:24 EST
Alvin Šipraga <alvin@xxxxxxx> writes:
> From: Syed Rafiuddeen <syed.rafiuddeen@xxxxxxxxxxx>
>
> cfg80211 layer on DUT STA is disconnecting ongoing connection attempt after
> receiving association response, because cfg80211 layer does not have valid
> AP bss information. On association response event, brcmfmac communicates
> the AP bss information to cfg80211 layer, but SSID seem to be empty in AP
> bss information, and cfg80211 layer prints kernel warning and then
> disconnects the ongoing connection attempt.
>
> SSID is empty in SSID IE, but 'bi->SSID' contains a valid SSID, so
> updating the SSID for hidden AP while informing its bss information
> to cfg80211 layer.
>
> Signed-off-by: Syed Rafiuddeen <syed.rafiuddeen@xxxxxxxxxxxx>
Syed's email address in From and s-o-b doesn't match.
> @@ -3018,6 +3019,12 @@ static s32 brcmf_inform_single_bss(struct brcmf_cfg80211_info *cfg,
> notify_ielen = le32_to_cpu(bi->ie_length);
> bss_data.signal = (s16)le16_to_cpu(bi->RSSI) * 100;
>
> + ssid = brcmf_parse_tlvs(notify_ie, notify_ielen, WLAN_EID_SSID);
> + if (ssid && ssid->data[0] == '\0' && ssid->len == bi->SSID_len) {
> + /* Update SSID for hidden AP */
> + memcpy((u8 *)ssid->data, bi->SSID, bi->SSID_len);
> + }
memcpy() takes a void pointer so the cast is not needed.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches