mac80211: fix compile error when mesh is disabled
authorKoen Vandeputte <koen.vandeputte@citymesh.com>
Tue, 4 Oct 2022 08:48:18 +0000 (10:48 +0200)
committerKoen Vandeputte <koen.vandeputte@citymesh.com>
Tue, 4 Oct 2022 09:22:29 +0000 (11:22 +0200)
This fixes following compile error seen when
building mac80211 with mesh disabled:

.../backports-5.15.58-1/net/mac80211/agg-rx.c: In function 'ieee80211_send_addba_resp':
...backports-5.15.58-1/net/mac80211/agg-rx.c:255:17: error: 'struct sta_info' has no member named 'mesh'
  255 |         if (!sta->mesh)
      |                 ^~

sta_info.h shows this item as being optional based on flags:

struct mesh_sta *mesh;

Guard the check to fix this.

Fixes: f96744ba6b ("mac80211: mask nested A-MSDU support for mesh")
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
package/kernel/mac80211/patches/subsys/800-mac80211-mask-nested-A-MSDU-support-for-mesh.patch

index 415c6dfb803639cd726ee3f9b35359712b3e075d..e7da94c9cdaf5bf85600ae95a647e8b94dc5ae11 100644 (file)
@@ -18,13 +18,15 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
 
 --- a/net/mac80211/agg-rx.c
 +++ b/net/mac80211/agg-rx.c
-@@ -251,7 +251,9 @@ static void ieee80211_send_addba_resp(st
+@@ -251,7 +251,11 @@ static void ieee80211_send_addba_resp(st
        mgmt->u.action.u.addba_resp.action_code = WLAN_ACTION_ADDBA_RESP;
        mgmt->u.action.u.addba_resp.dialog_token = dialog_token;
  
 -      capab = u16_encode_bits(amsdu, IEEE80211_ADDBA_PARAM_AMSDU_MASK);
 +      capab = 0;
++#ifdef CONFIG_MAC80211_MESH
 +      if (!sta->mesh)
++#endif
 +              capab = u16_encode_bits(amsdu, IEEE80211_ADDBA_PARAM_AMSDU_MASK);
        capab |= u16_encode_bits(policy, IEEE80211_ADDBA_PARAM_POLICY_MASK);
        capab |= u16_encode_bits(tid, IEEE80211_ADDBA_PARAM_TID_MASK);