[PATCH 34/61] staging: rtl8723bs: replace rtw_get_beacon_interval_from_ie with define
From: Arsenii Pashchenko
Date: Wed Jul 15 2026 - 09:00:52 EST
Remove the redundant rtw_get_beacon_interval_from_ie() helper function
and introduce a macro definition for the beacon interval offset.
The original function performed a trivial pointer addition (ie + 8).
Replacing it with a descriptive macro eliminates a useless function call
layer while keeping the code self-documenting and free of magic numbers.
Define RTW_BEACON_INTERVAL_IE_OFFSET in the header, clean up the function
definition, and update all call sites to use direct pointer arithmetic.
Signed-off-by: Arsenii Pashchenko <ulijg308@xxxxxxxxx>
---
drivers/staging/rtl8723bs/core/rtw_ap.c | 2 +-
drivers/staging/rtl8723bs/core/rtw_mlme.c | 4 ----
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c | 8 ++++----
drivers/staging/rtl8723bs/core/rtw_wlan_util.c | 2 +-
drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c | 2 +-
drivers/staging/rtl8723bs/include/rtw_mlme.h | 5 ++++-
6 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c
index 9ecf75ef4..ba45dd49c 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ap.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ap.c
@@ -791,7 +791,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf, int len)
/* beacon interval */
/* ie + 8; 8: TimeStamp, 2: Beacon Interval 2:Capability */
- p = rtw_get_beacon_interval_from_ie(ie);
+ p = ie+RTW_BEACON_INTERVAL_IE_OFFSET;
pbss_network->configuration.beacon_period = get_unaligned_le16(p);
/* capability */
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c
index 73b20a78d..0ec599383 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c
@@ -297,10 +297,6 @@ u16 rtw_get_capability(struct wlan_bssid_ex *bss)
return le16_to_cpu(val);
}
-u8 *rtw_get_beacon_interval_from_ie(u8 *ie)
-{
- return ie + 8;
-}
void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork)
{
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
index 9dfa31171..25dfb20f3 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
@@ -2113,7 +2113,7 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
/* beacon interval: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_beacon_interval_from_ie(cur_network->ies)), 2);
+ memcpy(pframe, (unsigned char *)(cur_network->ies+RTW_BEACON_INTERVAL_IE_OFFSET), 2);
pframe += 2;
pattrib->pktlen += 2;
@@ -2309,14 +2309,14 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
/* beacon interval: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_beacon_interval_from_ie(cur_network->ies)), 2);
+ memcpy(pframe, (u8 *)(cur_network->ies+RTW_BEACON_INTERVAL_IE_OFFSET), 2);
pframe += 2;
pattrib->pktlen += 2;
/* capability info: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_capability_from_ie(cur_network->ies)), 2);
+ memcpy(pframe, (u8 *)(rtw_get_capability_from_ie(cur_network->ies)), 2);
pframe += 2;
pattrib->pktlen += 2;
@@ -3881,7 +3881,7 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str
}
}
- memcpy(&le32_tmp, rtw_get_beacon_interval_from_ie(bssid->ies), 2);
+ memcpy(&le32_tmp, bssid->ies+RTW_BEACON_INTERVAL_IE_OFFSET, 2);
bssid->configuration.beacon_period = le32_to_cpu(le32_tmp);
val16 = rtw_get_capability((struct wlan_bssid_ex *)bssid);
diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
index 03e047397..1597fc33a 100644
--- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
+++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c
@@ -324,7 +324,7 @@ u16 get_beacon_interval(struct wlan_bssid_ex *bss)
{
__le16 val;
- memcpy((unsigned char *)&val, rtw_get_beacon_interval_from_ie(bss->ies), 2);
+ memcpy((unsigned char *)&val, bss->ies+RTW_BEACON_INTERVAL_IE_OFFSET, 2);
return le16_to_cpu(val);
}
diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
index c35c7f1c3..826a20529 100644
--- a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
+++ b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c
@@ -128,7 +128,7 @@ static void ConstructBeacon(struct adapter *padapter, u8 *pframe, u32 *pLength)
pktlen += 8;
/* beacon interval: 2 bytes */
- memcpy(pframe, (unsigned char *)(rtw_get_beacon_interval_from_ie(cur_network->ies)), 2);
+ memcpy(pframe, (unsigned char *)(cur_network->ies+RTW_BEACON_INTERVAL_IE_OFFSET), 2);
pframe += 2;
pktlen += 2;
diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme.h b/drivers/staging/rtl8723bs/include/rtw_mlme.h
index 8c924e35a..23c46df90 100644
--- a/drivers/staging/rtl8723bs/include/rtw_mlme.h
+++ b/drivers/staging/rtl8723bs/include/rtw_mlme.h
@@ -43,6 +43,10 @@
#define _FW_UNDER_SURVEY WIFI_SITE_MONITOR
+#define RTW_BEACON_INTERVAL_IE_OFFSET 8
+
+
+
enum {
dot11AuthAlgrthm_Open = 0,
dot11AuthAlgrthm_Shared,
@@ -366,7 +370,6 @@ bool rtw_if_up(struct adapter *padapter);
bool rtw_linked_check(struct adapter *padapter);
u8 *rtw_get_capability_from_ie(u8 *ie);
-u8 *rtw_get_beacon_interval_from_ie(u8 *ie);
void rtw_joinbss_reset(struct adapter *padapter);
--
2.55.0