[PATCH 35/61] staging: rtl8723bs: inline _rtw_free_network_nolock into wrapper
From: Arsenii Pashchenko
Date: Wed Jul 15 2026 - 09:01:23 EST
Collapse the internal _rtw_free_network_nolock() helper function into
its only external caller, rtw_free_network_nolock().
The separation between these two functions served no architectural purpose
and only created unnecessary call overhead by extracting and passing the
mlmepriv pointer. Inlining the logic simplifies the BSS network freeing
path.
Clean up the internal function definition, remove its prototype from the
header file, and keep only the unified rtw_free_network_nolock() function.
Signed-off-by: Arsenii Pashchenko <ulijg308@xxxxxxxxx>
---
drivers/staging/rtl8723bs/core/rtw_mlme.c | 26 +++++++++-----------
drivers/staging/rtl8723bs/include/rtw_mlme.h | 2 +-
2 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c
index 0ec599383..1450589aa 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c
@@ -198,20 +198,6 @@ void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwor
spin_unlock_bh(&free_queue->lock);
}
-void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork)
-{
- struct __queue *free_queue = &pmlmepriv->free_bss_pool;
-
- if (!pnetwork)
- return;
-
- if (pnetwork->fixed)
- return;
-
- list_del_init(&pnetwork->list);
-
- list_add_tail(&pnetwork->list, get_list_head(free_queue));
-}
/*
* return the wlan_network with the matching addr
@@ -300,7 +286,17 @@ u16 rtw_get_capability(struct wlan_bssid_ex *bss)
void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork)
{
- _rtw_free_network_nolock(&padapter->mlmepriv, pnetwork);
+ struct __queue *free_queue = &padapter->mlmepriv.free_bss_pool;
+
+ if (!pnetwork)
+ return;
+
+ if (pnetwork->fixed)
+ return;
+
+ list_del_init(&pnetwork->list);
+
+ list_add_tail(&pnetwork->list, get_list_head(free_queue));
rtw_cfg80211_unlink_bss(padapter, pnetwork);
}
diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme.h b/drivers/staging/rtl8723bs/include/rtw_mlme.h
index 23c46df90..f15dfcac0 100644
--- a/drivers/staging/rtl8723bs/include/rtw_mlme.h
+++ b/drivers/staging/rtl8723bs/include/rtw_mlme.h
@@ -360,7 +360,6 @@ extern struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv);
extern void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork, u8 isfreeall);
-extern void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork);
extern struct wlan_network *_rtw_find_network(struct __queue *scanned_queue, u8 *addr);
@@ -395,4 +394,5 @@ int rtw_select_roaming_candidate(struct mlme_priv *pmlmepriv);
void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta, u32 mstatus);
void rtw_reset_securitypriv(struct adapter *adapter);
+void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork);
#endif /* __RTL871X_MLME_H_ */
--
2.55.0