[PATCH v4 13/17] mac80211: receive and process S1G beacons

Wen Gong wgong at codeaurora.org
Tue Dec 8 21:48:21 EST 2020


On 2020-12-09 02:19, Thomas Pedersen wrote:
> Hi Wen,
> 
> On 2020-12-07 23:44, Wen Gong wrote:
>> On 2020-09-22 10:28, Thomas Pedersen wrote:
>>> S1G beacons are 802.11 Extension Frames, so the fixed
>>> header part differs from regular beacons.
>>> 
>>> Add a handler to process S1G beacons and abstract out the
>>> fetching of BSSID and element start locations in the
>>> beacon body handler.
>>> 
>>> Signed-off-by: Thomas Pedersen <thomas at adapt-ip.com>
>>> ---
>>>  net/mac80211/ieee80211_i.h |  4 ++
>>>  net/mac80211/iface.c       |  5 +++
>>>  net/mac80211/mlme.c        | 84 
>>> +++++++++++++++++++++++++++++---------
>>>  net/mac80211/rx.c          | 84 
>>> ++++++++++++++++----------------------
>>>  net/mac80211/util.c        | 52 +++++++++++++++++++++++
>>>  5 files changed, 162 insertions(+), 67 deletions(-)
>>> 
>> ...
>>> @@ -1801,7 +1756,8 @@ ieee80211_rx_h_sta_process(struct 
>>> ieee80211_rx_data *rx)
>>>  		}
>>>  	} else if (rx->sdata->vif.type == NL80211_IFTYPE_OCB) {
>>>  		sta->rx_stats.last_rx = jiffies;
>>> -	} else if (!is_multicast_ether_addr(hdr->addr1)) {
>>> +	} else if (!ieee80211_is_s1g_beacon(hdr->frame_control) &&
>>> +		   is_multicast_ether_addr(hdr->addr1)) {
>> is this a typo mistake?
>> it removed ! for is_multicast_ether_addr(!is_multicast_ether_addr ==>
>> is_multicast_ether_addr)
> 
> Yes that does look like a typo, it should be:
> 
> 	} else if (!ieee80211_is_s1g_beacon(hdr->frame_control) &&
> 		   !is_multicast_ether_addr(hdr->addr1)) {
> 
> (because is_multicast_ether_addr() evaluates to true for s1g beacons).
> 
> Do you have a patch or would you like me to send a fixup?
Yes, I have a patch for it.
I will send it.
> 
> Thanks,



More information about the ath11k mailing list