Browse Source

hostapd: fix build when 80211BE enabled

In file included from hostapd-wpad-basic-mbedtls/hostapd-2024.03.09~695277a5/src/ap/ubus.h:11,
                 from hostapd-wpad-basic-mbedtls/hostapd-2024.03.09~695277a5/src/ap/hostapd.h:21,
                 from main.c:26:
hostapd-2024.03.09~695277a5/src/ap/sta_info.h: In function 'ap_sta_is_mld':
hostapd-2024.03.09~695277a5/src/ap/sta_info.h:425:20: error: invalid use of undefined type 'struct hostapd_data'
  425 |         return hapd->conf->mld_ap && sta && sta->mld_info.mld_sta;
      |                    ^~

Signed-off-by: Janusz Dziedzic <[email protected]>
Janusz Dziedzic 1 year ago
parent
commit
d1fc8c3db0

+ 53 - 0
package/network/services/hostapd/patches/803-hostapd-fix-80211be-build.patch

@@ -0,0 +1,53 @@
+--- a/src/ap/sta_info.c
++++ b/src/ap/sta_info.c
+@@ -1836,3 +1836,22 @@ void ap_sta_free_sta_profile(struct mld_
+ 	}
+ }
+ #endif /* CONFIG_IEEE80211BE */
++
++bool ap_sta_is_mld(struct hostapd_data *hapd,
++		   struct sta_info *sta)
++{
++#ifdef CONFIG_IEEE80211BE
++	return hapd->conf->mld_ap && sta && sta->mld_info.mld_sta;
++#else /* CONFIG_IEEE80211BE */
++	return false;
++#endif /* CONFIG_IEEE80211BE */
++}
++
++void ap_sta_set_mld(struct sta_info *sta, bool mld)
++{
++#ifdef CONFIG_IEEE80211BE
++	if (sta)
++		sta->mld_info.mld_sta = mld;
++#endif /* CONFIG_IEEE80211BE */
++}
++
+--- a/src/ap/sta_info.h
++++ b/src/ap/sta_info.h
+@@ -417,23 +417,8 @@ int ap_sta_re_add(struct hostapd_data *h
+ 
+ void ap_free_sta_pasn(struct hostapd_data *hapd, struct sta_info *sta);
+ 
+-static inline bool ap_sta_is_mld(struct hostapd_data *hapd,
+-				 struct sta_info *sta)
+-{
+-#ifdef CONFIG_IEEE80211BE
+-	return hapd->conf->mld_ap && sta && sta->mld_info.mld_sta;
+-#else /* CONFIG_IEEE80211BE */
+-	return false;
+-#endif /* CONFIG_IEEE80211BE */
+-}
+-
+-static inline void ap_sta_set_mld(struct sta_info *sta, bool mld)
+-{
+-#ifdef CONFIG_IEEE80211BE
+-	if (sta)
+-		sta->mld_info.mld_sta = mld;
+-#endif /* CONFIG_IEEE80211BE */
+-}
++bool ap_sta_is_mld(struct hostapd_data *hapd, struct sta_info *sta);
++void ap_sta_set_mld(struct sta_info *sta, bool mld);
+ 
+ void ap_sta_free_sta_profile(struct mld_info *info);
+