Relocate the declaration of the hostapd_find_by_sta() function to top
The hostapd_find_by_sta() function may be utilized by multiple driver events. Therefore, it should be declared at the outset to ensure accessibility by all event handlers. No functional changes. Signed-off-by: Manish Dharanenthiran <quic_mdharane@quicinc.com> Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
This commit is contained in:
parent
83c4adcdac
commit
89c31feb31
1 changed files with 46 additions and 44 deletions
|
@ -250,6 +250,52 @@ out:
|
|||
#endif /* CONFIG_IEEE80211BE */
|
||||
|
||||
|
||||
#if defined(HOSTAPD) || defined(CONFIG_IEEE80211BE)
|
||||
static struct hostapd_data * hostapd_find_by_sta(struct hostapd_iface *iface,
|
||||
const u8 *src, bool rsn,
|
||||
struct sta_info **sta_ret)
|
||||
{
|
||||
struct hostapd_data *hapd;
|
||||
struct sta_info *sta;
|
||||
unsigned int j;
|
||||
|
||||
if (sta_ret)
|
||||
*sta_ret = NULL;
|
||||
|
||||
for (j = 0; j < iface->num_bss; j++) {
|
||||
hapd = iface->bss[j];
|
||||
sta = ap_get_sta(hapd, src);
|
||||
if (sta && (sta->flags & WLAN_STA_ASSOC) &&
|
||||
(!rsn || sta->wpa_sm)) {
|
||||
if (sta_ret)
|
||||
*sta_ret = sta;
|
||||
return hapd;
|
||||
}
|
||||
#ifdef CONFIG_IEEE80211BE
|
||||
if (hapd->conf->mld_ap) {
|
||||
struct hostapd_data *p_hapd;
|
||||
|
||||
for_each_mld_link(p_hapd, hapd) {
|
||||
if (p_hapd == hapd)
|
||||
continue;
|
||||
|
||||
sta = ap_get_sta(p_hapd, src);
|
||||
if (sta && (sta->flags & WLAN_STA_ASSOC) &&
|
||||
(!rsn || sta->wpa_sm)) {
|
||||
if (sta_ret)
|
||||
*sta_ret = sta;
|
||||
return p_hapd;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211BE */
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
#endif /* HOSTAPD || CONFIG_IEEE80211BE */
|
||||
|
||||
|
||||
int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr,
|
||||
const u8 *req_ies, size_t req_ies_len,
|
||||
const u8 *resp_ies, size_t resp_ies_len,
|
||||
|
@ -1986,50 +2032,6 @@ static int hostapd_event_new_sta(struct hostapd_data *hapd, const u8 *addr)
|
|||
}
|
||||
|
||||
|
||||
static struct hostapd_data * hostapd_find_by_sta(struct hostapd_iface *iface,
|
||||
const u8 *src, bool rsn,
|
||||
struct sta_info **sta_ret)
|
||||
{
|
||||
struct hostapd_data *hapd;
|
||||
struct sta_info *sta;
|
||||
unsigned int j;
|
||||
|
||||
if (sta_ret)
|
||||
*sta_ret = NULL;
|
||||
|
||||
for (j = 0; j < iface->num_bss; j++) {
|
||||
hapd = iface->bss[j];
|
||||
sta = ap_get_sta(hapd, src);
|
||||
if (sta && (sta->flags & WLAN_STA_ASSOC) &&
|
||||
(!rsn || sta->wpa_sm)) {
|
||||
if (sta_ret)
|
||||
*sta_ret = sta;
|
||||
return hapd;
|
||||
}
|
||||
#ifdef CONFIG_IEEE80211BE
|
||||
if (hapd->conf->mld_ap) {
|
||||
struct hostapd_data *p_hapd;
|
||||
|
||||
for_each_mld_link(p_hapd, hapd) {
|
||||
if (p_hapd == hapd)
|
||||
continue;
|
||||
|
||||
sta = ap_get_sta(p_hapd, src);
|
||||
if (sta && (sta->flags & WLAN_STA_ASSOC) &&
|
||||
(!rsn || sta->wpa_sm)) {
|
||||
if (sta_ret)
|
||||
*sta_ret = sta;
|
||||
return p_hapd;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211BE */
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
static void hostapd_event_eapol_rx(struct hostapd_data *hapd, const u8 *src,
|
||||
const u8 *data, size_t data_len,
|
||||
enum frame_encryption encrypted,
|
||||
|
|
Loading…
Reference in a new issue