public inbox for linux-staging@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH 0/5] replace custom functions with kernel network
@ 2026-03-20 12:14 Nikolay Kulikov
  2026-03-20 12:14 ` [PATCH 1/5] staging: rtl8723bs: replace deeply nested if-else with switch-case Nikolay Kulikov
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-20 12:14 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, Nikolay Kulikov

This series replaces custom functions for checking mac address type with
standard kernel functions from linux/etherdevice.h designed for this
purpose.

Patches 1/5 and 2/5 will fix checkpatch.pl warnings for future patches.

Nikolay Kulikov (5):
  staging: rtl8723bs: replace deeply nested if-else with switch-case
  staging: rtl8723bs: move logical operators to end of previous line
  staging: rtl8723bs: remove custom is_zero_mac_addr() function
  staging: rtl8723bs: remove custom is_broadcast_mac_addr() function
  staging: rtl8723bs: remove custom is_multicast_mac_addr() function

 .../staging/rtl8723bs/core/rtw_ioctl_set.c    |  8 ++--
 drivers/staging/rtl8723bs/core/rtw_mlme.c     |  2 +-
 drivers/staging/rtl8723bs/core/rtw_recv.c     | 48 +++++++++++--------
 drivers/staging/rtl8723bs/core/rtw_security.c |  4 +-
 drivers/staging/rtl8723bs/include/ieee80211.h | 17 -------
 5 files changed, 34 insertions(+), 45 deletions(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/5] staging: rtl8723bs: replace deeply nested if-else with switch-case
  2026-03-20 12:14 [PATCH 0/5] replace custom functions with kernel network Nikolay Kulikov
@ 2026-03-20 12:14 ` Nikolay Kulikov
  2026-03-20 17:30   ` Ethan Tidmore
  2026-03-20 12:15 ` [PATCH 2/5] staging: rtl8723bs: move logical operators to end of previous line Nikolay Kulikov
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-20 12:14 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, Nikolay Kulikov

The main logic of the validate_recv_mgnt_frame() function is deeply
nested due to multiple if-else statements and additional block scope.
Fix this by replacing identical if-else with switch-case statements,
which will improve code readability and correct checkpatch.pl warnings
about line lengths.

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_recv.c | 48 +++++++++++++----------
 1 file changed, 28 insertions(+), 20 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index a52884d2129f..6ffb7be93350 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1250,33 +1250,41 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re
 static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame)
 {
 	/* struct mlme_priv *pmlmepriv = &adapter->mlmepriv; */
+	struct sta_info *psta = NULL;
 
 	precv_frame = recvframe_chk_defrag(padapter, precv_frame);
 	if (!precv_frame)
 		return _SUCCESS;
 
-	{
-		/* for rx pkt statistics */
-		struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
-
-		if (psta) {
-			psta->sta_stats.rx_mgnt_pkts++;
-			if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_BEACON)
-				psta->sta_stats.rx_beacon_pkts++;
-			else if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_PROBEREQ)
-				psta->sta_stats.rx_probereq_pkts++;
-			else if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_PROBERSP) {
-				if (!memcmp(padapter->eeprompriv.mac_addr, GetAddr1Ptr(precv_frame->u.hdr.rx_data), ETH_ALEN))
-					psta->sta_stats.rx_probersp_pkts++;
-				else if (is_broadcast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
-					 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
-					psta->sta_stats.rx_probersp_bm_pkts++;
-				else
-					psta->sta_stats.rx_probersp_uo_pkts++;
-			}
-		}
+	/* for rx pkt statistics */
+	psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
+	if (!psta)
+		goto exit;
+
+	psta->sta_stats.rx_mgnt_pkts++;
+
+	switch (GetFrameSubType(precv_frame->u.hdr.rx_data)) {
+	case WIFI_BEACON:
+		psta->sta_stats.rx_beacon_pkts++;
+		break;
+	case WIFI_PROBEREQ:
+		psta->sta_stats.rx_probereq_pkts++;
+		break;
+	case WIFI_PROBERSP:
+		if (!memcmp(padapter->eeprompriv.mac_addr,
+			    GetAddr1Ptr(precv_frame->u.hdr.rx_data),
+			    ETH_ALEN))
+			psta->sta_stats.rx_probersp_pkts++;
+		else if (is_broadcast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
+			 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
+			psta->sta_stats.rx_probersp_bm_pkts++;
+		else
+			psta->sta_stats.rx_probersp_uo_pkts++;
+
+		break;
 	}
 
+exit:
 	mgt_dispatcher(padapter, precv_frame);
 
 	return _SUCCESS;
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 2/5] staging: rtl8723bs: move logical operators to end of previous line
  2026-03-20 12:14 [PATCH 0/5] replace custom functions with kernel network Nikolay Kulikov
  2026-03-20 12:14 ` [PATCH 1/5] staging: rtl8723bs: replace deeply nested if-else with switch-case Nikolay Kulikov
@ 2026-03-20 12:15 ` Nikolay Kulikov
  2026-03-20 12:15 ` [PATCH 3/5] staging: rtl8723bs: remove custom is_zero_mac_addr() function Nikolay Kulikov
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-20 12:15 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, Nikolay Kulikov

Change the position of logical operators '||' and remove unnecessary
curly braces around single expression to fix checkpatch.pl warnings.

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index d92ec9949d00..eb4a32a998ae 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -11,12 +11,10 @@ u8 rtw_validate_bssid(u8 *bssid)
 {
 	u8 ret = true;
 
-	if (is_zero_mac_addr(bssid)
-		|| is_broadcast_mac_addr(bssid)
-		|| is_multicast_mac_addr(bssid)
-	) {
+	if (is_zero_mac_addr(bssid) ||
+	    is_broadcast_mac_addr(bssid) ||
+	    is_multicast_mac_addr(bssid))
 		ret = false;
-	}
 
 	return ret;
 }
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 3/5] staging: rtl8723bs: remove custom is_zero_mac_addr() function
  2026-03-20 12:14 [PATCH 0/5] replace custom functions with kernel network Nikolay Kulikov
  2026-03-20 12:14 ` [PATCH 1/5] staging: rtl8723bs: replace deeply nested if-else with switch-case Nikolay Kulikov
  2026-03-20 12:15 ` [PATCH 2/5] staging: rtl8723bs: move logical operators to end of previous line Nikolay Kulikov
@ 2026-03-20 12:15 ` Nikolay Kulikov
  2026-03-20 12:15 ` [PATCH 4/5] staging: rtl8723bs: remove custom is_broadcast_mac_addr() function Nikolay Kulikov
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-20 12:15 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, Nikolay Kulikov

Remove the custom function is_zero_mac_addr() and replace all calls to it
with the default kernel function is_zero_ether_addr() to avoid
duplicating existing code.

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 2 +-
 drivers/staging/rtl8723bs/core/rtw_mlme.c      | 2 +-
 drivers/staging/rtl8723bs/include/ieee80211.h  | 6 ------
 3 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index eb4a32a998ae..c20a143ace4b 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -11,7 +11,7 @@ u8 rtw_validate_bssid(u8 *bssid)
 {
 	u8 ret = true;
 
-	if (is_zero_mac_addr(bssid) ||
+	if (is_zero_ether_addr(bssid) ||
 	    is_broadcast_mac_addr(bssid) ||
 	    is_multicast_mac_addr(bssid))
 		ret = false;
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c
index 5516593bc8ab..43c2c3afa81e 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c
@@ -1694,7 +1694,7 @@ static int rtw_check_roaming_candidate(struct mlme_priv *mlme
 		goto exit;
 
 	/* got specific addr to roam */
-	if (!is_zero_mac_addr(mlme->roam_tgt_addr)) {
+	if (!is_zero_ether_addr(mlme->roam_tgt_addr)) {
 		if (!memcmp(mlme->roam_tgt_addr, competitor->network.mac_address, ETH_ALEN))
 			goto update;
 		else
diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h
index 14c806a22b38..37b9b363c073 100644
--- a/drivers/staging/rtl8723bs/include/ieee80211.h
+++ b/drivers/staging/rtl8723bs/include/ieee80211.h
@@ -518,12 +518,6 @@ static inline int is_broadcast_mac_addr(const u8 *addr)
 		(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
 }
 
-static inline int is_zero_mac_addr(const u8 *addr)
-{
-	return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) &&   \
-		(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
-}
-
 #define CFG_IEEE80211_RESERVE_FCS (1<<0)
 #define CFG_IEEE80211_COMPUTE_FCS (1<<1)
 
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 4/5] staging: rtl8723bs: remove custom is_broadcast_mac_addr() function
  2026-03-20 12:14 [PATCH 0/5] replace custom functions with kernel network Nikolay Kulikov
                   ` (2 preceding siblings ...)
  2026-03-20 12:15 ` [PATCH 3/5] staging: rtl8723bs: remove custom is_zero_mac_addr() function Nikolay Kulikov
@ 2026-03-20 12:15 ` Nikolay Kulikov
  2026-03-20 12:15 ` [PATCH 5/5] staging: rtl8723bs: remove custom is_multicast_mac_addr() function Nikolay Kulikov
  2026-03-23 15:06 ` [PATCH v2 0/6] replace custom functions with kernel network functions Nikolay Kulikov
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-20 12:15 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, Nikolay Kulikov

Replace the custom broadcast address checking function with standard
kernel is_broadcast_ether_addr() func for this.

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 2 +-
 drivers/staging/rtl8723bs/core/rtw_recv.c      | 2 +-
 drivers/staging/rtl8723bs/core/rtw_security.c  | 4 ++--
 drivers/staging/rtl8723bs/include/ieee80211.h  | 6 ------
 4 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index c20a143ace4b..904ff0e14ec5 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -12,7 +12,7 @@ u8 rtw_validate_bssid(u8 *bssid)
 	u8 ret = true;
 
 	if (is_zero_ether_addr(bssid) ||
-	    is_broadcast_mac_addr(bssid) ||
+	    is_broadcast_ether_addr(bssid) ||
 	    is_multicast_mac_addr(bssid))
 		ret = false;
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 6ffb7be93350..5fa9060f8fcc 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1275,7 +1275,7 @@ static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_
 			    GetAddr1Ptr(precv_frame->u.hdr.rx_data),
 			    ETH_ALEN))
 			psta->sta_stats.rx_probersp_pkts++;
-		else if (is_broadcast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
+		else if (is_broadcast_ether_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
 			 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
 			psta->sta_stats.rx_probersp_bm_pkts++;
 		else
diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index b98bc1aa9cbe..c7017c8afddb 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -531,7 +531,7 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
 					if (start == 0)
 						start = jiffies;
 
-					if (is_broadcast_mac_addr(prxattrib->ra))
+					if (is_broadcast_ether_addr(prxattrib->ra))
 						no_gkey_bc_cnt++;
 					else
 						no_gkey_mc_cnt++;
@@ -1223,7 +1223,7 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
 					if (start == 0)
 						start = jiffies;
 
-					if (is_broadcast_mac_addr(prxattrib->ra))
+					if (is_broadcast_ether_addr(prxattrib->ra))
 						no_gkey_bc_cnt++;
 					else
 						no_gkey_mc_cnt++;
diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h
index 37b9b363c073..c3e06e693495 100644
--- a/drivers/staging/rtl8723bs/include/ieee80211.h
+++ b/drivers/staging/rtl8723bs/include/ieee80211.h
@@ -512,12 +512,6 @@ static inline int is_multicast_mac_addr(const u8 *addr)
 	return ((addr[0] != 0xff) && (0x01 & addr[0]));
 }
 
-static inline int is_broadcast_mac_addr(const u8 *addr)
-{
-	return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) &&   \
-		(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
-}
-
 #define CFG_IEEE80211_RESERVE_FCS (1<<0)
 #define CFG_IEEE80211_COMPUTE_FCS (1<<1)
 
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 5/5] staging: rtl8723bs: remove custom is_multicast_mac_addr() function
  2026-03-20 12:14 [PATCH 0/5] replace custom functions with kernel network Nikolay Kulikov
                   ` (3 preceding siblings ...)
  2026-03-20 12:15 ` [PATCH 4/5] staging: rtl8723bs: remove custom is_broadcast_mac_addr() function Nikolay Kulikov
@ 2026-03-20 12:15 ` Nikolay Kulikov
  2026-03-23 15:06 ` [PATCH v2 0/6] replace custom functions with kernel network functions Nikolay Kulikov
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-20 12:15 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, Nikolay Kulikov

is_multicast_mac_addr() is redundant reimplementation of standard
is_multicast_ether_addr() func.
Remove it and switch to use is_multicast_ether_addr().

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 2 +-
 drivers/staging/rtl8723bs/core/rtw_recv.c      | 2 +-
 drivers/staging/rtl8723bs/include/ieee80211.h  | 5 -----
 3 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index 904ff0e14ec5..c70541f95a73 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -13,7 +13,7 @@ u8 rtw_validate_bssid(u8 *bssid)
 
 	if (is_zero_ether_addr(bssid) ||
 	    is_broadcast_ether_addr(bssid) ||
-	    is_multicast_mac_addr(bssid))
+	    is_multicast_ether_addr(bssid))
 		ret = false;
 
 	return ret;
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 5fa9060f8fcc..78abe3929816 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1276,7 +1276,7 @@ static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_
 			    ETH_ALEN))
 			psta->sta_stats.rx_probersp_pkts++;
 		else if (is_broadcast_ether_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
-			 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
+			 is_multicast_ether_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
 			psta->sta_stats.rx_probersp_bm_pkts++;
 		else
 			psta->sta_stats.rx_probersp_uo_pkts++;
diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h
index c3e06e693495..fbb12fe31a6c 100644
--- a/drivers/staging/rtl8723bs/include/ieee80211.h
+++ b/drivers/staging/rtl8723bs/include/ieee80211.h
@@ -507,11 +507,6 @@ Total: 28-2340 bytes
 #define DEFAULT_FTS 2346
 #define IP_ARG(x) (x)
 
-static inline int is_multicast_mac_addr(const u8 *addr)
-{
-	return ((addr[0] != 0xff) && (0x01 & addr[0]));
-}
-
 #define CFG_IEEE80211_RESERVE_FCS (1<<0)
 #define CFG_IEEE80211_COMPUTE_FCS (1<<1)
 
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/5] staging: rtl8723bs: replace deeply nested if-else with switch-case
  2026-03-20 12:14 ` [PATCH 1/5] staging: rtl8723bs: replace deeply nested if-else with switch-case Nikolay Kulikov
@ 2026-03-20 17:30   ` Ethan Tidmore
  2026-03-22  8:19     ` Nikolay Kulikov
  0 siblings, 1 reply; 15+ messages in thread
From: Ethan Tidmore @ 2026-03-20 17:30 UTC (permalink / raw)
  To: Nikolay Kulikov, gregkh; +Cc: linux-staging

On Fri Mar 20, 2026 at 7:14 AM CDT, Nikolay Kulikov wrote:
> The main logic of the validate_recv_mgnt_frame() function is deeply
> nested due to multiple if-else statements and additional block scope.
> Fix this by replacing identical if-else with switch-case statements,
> which will improve code readability and correct checkpatch.pl warnings
> about line lengths.
>
> Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
> ---
>  drivers/staging/rtl8723bs/core/rtw_recv.c | 48 +++++++++++++----------
>  1 file changed, 28 insertions(+), 20 deletions(-)
>

...


>  	/* struct mlme_priv *pmlmepriv = &adapter->mlmepriv; */

Maybe create a patch to delete this commented out code since you're
already here.

> +	struct sta_info *psta = NULL;

You don't have to declare this as NULL rtw_get_stainfo() returns NULL.

>  
>  	precv_frame = recvframe_chk_defrag(padapter, precv_frame);
>  	if (!precv_frame)
>  		return _SUCCESS;
>  
> -	{
> -		/* for rx pkt statistics */
> -		struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
> -
> -		if (psta) {
> -			psta->sta_stats.rx_mgnt_pkts++;
> -			if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_BEACON)
> -				psta->sta_stats.rx_beacon_pkts++;
> -			else if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_PROBEREQ)
> -				psta->sta_stats.rx_probereq_pkts++;
> -			else if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_PROBERSP) {
> -				if (!memcmp(padapter->eeprompriv.mac_addr, GetAddr1Ptr(precv_frame->u.hdr.rx_data), ETH_ALEN))
> -					psta->sta_stats.rx_probersp_pkts++;
> -				else if (is_broadcast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
> -					 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
> -					psta->sta_stats.rx_probersp_bm_pkts++;
> -				else
> -					psta->sta_stats.rx_probersp_uo_pkts++;
> -			}
> -		}
> +	/* for rx pkt statistics */
> +	psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
> +	if (!psta)
> +		goto exit;

Instead of adding a goto here, it'd be easier to read if this was just
wrapped in an if statement.

Thanks,

ET

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/5] staging: rtl8723bs: replace deeply nested if-else with switch-case
  2026-03-20 17:30   ` Ethan Tidmore
@ 2026-03-22  8:19     ` Nikolay Kulikov
  0 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-22  8:19 UTC (permalink / raw)
  To: Ethan Tidmore; +Cc: gregkh, linux-staging

On Fri, Mar 20, 2026 at 12:30:31PM -0500, Ethan Tidmore wrote:
> On Fri Mar 20, 2026 at 7:14 AM CDT, Nikolay Kulikov wrote:
> > The main logic of the validate_recv_mgnt_frame() function is deeply
> > nested due to multiple if-else statements and additional block scope.
> > Fix this by replacing identical if-else with switch-case statements,
> > which will improve code readability and correct checkpatch.pl warnings
> > about line lengths.
> >
> > Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
> > ---
> >  drivers/staging/rtl8723bs/core/rtw_recv.c | 48 +++++++++++++----------
> >  1 file changed, 28 insertions(+), 20 deletions(-)
> >
> 
> ...
> 
> 
> >  	/* struct mlme_priv *pmlmepriv = &adapter->mlmepriv; */
> 
> Maybe create a patch to delete this commented out code since you're
> already here.
> 
> > +	struct sta_info *psta = NULL;
> 
> You don't have to declare this as NULL rtw_get_stainfo() returns NULL.
> 

I will do it in v2.


> >  
> >  	precv_frame = recvframe_chk_defrag(padapter, precv_frame);
> >  	if (!precv_frame)
> >  		return _SUCCESS;
> >  
> > -	{
> > -		/* for rx pkt statistics */
> > -		struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
> > -
> > -		if (psta) {
> > -			psta->sta_stats.rx_mgnt_pkts++;
> > -			if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_BEACON)
> > -				psta->sta_stats.rx_beacon_pkts++;
> > -			else if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_PROBEREQ)
> > -				psta->sta_stats.rx_probereq_pkts++;
> > -			else if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_PROBERSP) {
> > -				if (!memcmp(padapter->eeprompriv.mac_addr, GetAddr1Ptr(precv_frame->u.hdr.rx_data), ETH_ALEN))
> > -					psta->sta_stats.rx_probersp_pkts++;
> > -				else if (is_broadcast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
> > -					 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
> > -					psta->sta_stats.rx_probersp_bm_pkts++;
> > -				else
> > -					psta->sta_stats.rx_probersp_uo_pkts++;
> > -			}
> > -		}
> > +	/* for rx pkt statistics */
> > +	psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
> > +	if (!psta)
> > +		goto exit;
> 
> Instead of adding a goto here, it'd be easier to read if this was just
> wrapped in an if statement.

According to the Kernel Coding style (Section 1), heavy indentation
should be avoided. If we wrap all of this in:
	if (psta) {
		...
	}
then there will be four tabs before the deepest lines, leaving little
room for the actual work, and the reader will have ro remember too
much context from all the conditions.


Thanks,
Nikolay

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v2 0/6] replace custom functions with kernel network functions
  2026-03-20 12:14 [PATCH 0/5] replace custom functions with kernel network Nikolay Kulikov
                   ` (4 preceding siblings ...)
  2026-03-20 12:15 ` [PATCH 5/5] staging: rtl8723bs: remove custom is_multicast_mac_addr() function Nikolay Kulikov
@ 2026-03-23 15:06 ` Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 1/6] staging: rtl8723bs: replace deeply nested if-else with switch-case Nikolay Kulikov
                     ` (5 more replies)
  5 siblings, 6 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-23 15:06 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, ethantidmore06, Nikolay Kulikov

This series replaces custom functions for checking mac address type with
standard kernel functions from linux/etherdevice.h designed for this
purpose.

Patches 1 - 3 will fix checkpatch.pl warnings for future patches.

Changes in v2:
	- remove initialization of local pointer as NULL (patch 1/5)
	- add commit to remove dead code in rtw_recv.c (patch 2/5)

Nikolay Kulikov (6):
  staging: rtl8723bs: replace deeply nested if-else with switch-case
  staging: rtl8723bs: remove dead code in validate_recv_mgnt_frame()
  staging: rtl8723bs: move logical operators to end of previous line
  staging: rtl8723bs: remove custom is_zero_mac_addr() function
  staging: rtl8723bs: remove custom is_broadcast_mac_addr() function
  staging: rtl8723bs: remove custom is_multicast_mac_addr() function

 .../staging/rtl8723bs/core/rtw_ioctl_set.c    |  8 ++-
 drivers/staging/rtl8723bs/core/rtw_mlme.c     |  2 +-
 drivers/staging/rtl8723bs/core/rtw_recv.c     | 49 +++++++++++--------
 drivers/staging/rtl8723bs/core/rtw_security.c |  4 +-
 drivers/staging/rtl8723bs/include/ieee80211.h | 17 -------
 5 files changed, 34 insertions(+), 46 deletions(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v2 1/6] staging: rtl8723bs: replace deeply nested if-else with switch-case
  2026-03-23 15:06 ` [PATCH v2 0/6] replace custom functions with kernel network functions Nikolay Kulikov
@ 2026-03-23 15:06   ` Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 2/6] staging: rtl8723bs: remove dead code in validate_recv_mgnt_frame() Nikolay Kulikov
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-23 15:06 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, ethantidmore06, Nikolay Kulikov

The main logic of the validate_recv_mgnt_frame() function is deeply
nested due to multiple if-else statements and additional block scope.
Fix this by replacing identical if-else with switch-case statements,
which will improve code readability and correct checkpatch.pl warnings
about line lengths.

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---

Changes in v2:
	- leave 'psta' uninizialized

 drivers/staging/rtl8723bs/core/rtw_recv.c | 48 +++++++++++++----------
 1 file changed, 28 insertions(+), 20 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index a52884d2129f..78746cc0d078 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1250,33 +1250,41 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re
 static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame)
 {
 	/* struct mlme_priv *pmlmepriv = &adapter->mlmepriv; */
+	struct sta_info *psta;
 
 	precv_frame = recvframe_chk_defrag(padapter, precv_frame);
 	if (!precv_frame)
 		return _SUCCESS;
 
-	{
-		/* for rx pkt statistics */
-		struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
-
-		if (psta) {
-			psta->sta_stats.rx_mgnt_pkts++;
-			if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_BEACON)
-				psta->sta_stats.rx_beacon_pkts++;
-			else if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_PROBEREQ)
-				psta->sta_stats.rx_probereq_pkts++;
-			else if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_PROBERSP) {
-				if (!memcmp(padapter->eeprompriv.mac_addr, GetAddr1Ptr(precv_frame->u.hdr.rx_data), ETH_ALEN))
-					psta->sta_stats.rx_probersp_pkts++;
-				else if (is_broadcast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
-					 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
-					psta->sta_stats.rx_probersp_bm_pkts++;
-				else
-					psta->sta_stats.rx_probersp_uo_pkts++;
-			}
-		}
+	/* for rx pkt statistics */
+	psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
+	if (!psta)
+		goto exit;
+
+	psta->sta_stats.rx_mgnt_pkts++;
+
+	switch (GetFrameSubType(precv_frame->u.hdr.rx_data)) {
+	case WIFI_BEACON:
+		psta->sta_stats.rx_beacon_pkts++;
+		break;
+	case WIFI_PROBEREQ:
+		psta->sta_stats.rx_probereq_pkts++;
+		break;
+	case WIFI_PROBERSP:
+		if (!memcmp(padapter->eeprompriv.mac_addr,
+			    GetAddr1Ptr(precv_frame->u.hdr.rx_data),
+			    ETH_ALEN))
+			psta->sta_stats.rx_probersp_pkts++;
+		else if (is_broadcast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
+			 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
+			psta->sta_stats.rx_probersp_bm_pkts++;
+		else
+			psta->sta_stats.rx_probersp_uo_pkts++;
+
+		break;
 	}
 
+exit:
 	mgt_dispatcher(padapter, precv_frame);
 
 	return _SUCCESS;
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 2/6] staging: rtl8723bs: remove dead code in validate_recv_mgnt_frame()
  2026-03-23 15:06 ` [PATCH v2 0/6] replace custom functions with kernel network functions Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 1/6] staging: rtl8723bs: replace deeply nested if-else with switch-case Nikolay Kulikov
@ 2026-03-23 15:06   ` Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 3/6] staging: rtl8723bs: move logical operators to end of previous line Nikolay Kulikov
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-23 15:06 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, ethantidmore06, Nikolay Kulikov

Remove unused code from the validate_recv_mgnt_frame() function. This
code was previously commented out and is no longer needed.

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_recv.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 78746cc0d078..c5182438fd05 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1249,7 +1249,6 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re
 
 static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_frame *precv_frame)
 {
-	/* struct mlme_priv *pmlmepriv = &adapter->mlmepriv; */
 	struct sta_info *psta;
 
 	precv_frame = recvframe_chk_defrag(padapter, precv_frame);
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 3/6] staging: rtl8723bs: move logical operators to end of previous line
  2026-03-23 15:06 ` [PATCH v2 0/6] replace custom functions with kernel network functions Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 1/6] staging: rtl8723bs: replace deeply nested if-else with switch-case Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 2/6] staging: rtl8723bs: remove dead code in validate_recv_mgnt_frame() Nikolay Kulikov
@ 2026-03-23 15:06   ` Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 4/6] staging: rtl8723bs: remove custom is_zero_mac_addr() function Nikolay Kulikov
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-23 15:06 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, ethantidmore06, Nikolay Kulikov

Change the position of logical operators '||' and remove unnecessary
curly braces around single expression to fix checkpatch.pl warnings.

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index d92ec9949d00..eb4a32a998ae 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -11,12 +11,10 @@ u8 rtw_validate_bssid(u8 *bssid)
 {
 	u8 ret = true;
 
-	if (is_zero_mac_addr(bssid)
-		|| is_broadcast_mac_addr(bssid)
-		|| is_multicast_mac_addr(bssid)
-	) {
+	if (is_zero_mac_addr(bssid) ||
+	    is_broadcast_mac_addr(bssid) ||
+	    is_multicast_mac_addr(bssid))
 		ret = false;
-	}
 
 	return ret;
 }
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 4/6] staging: rtl8723bs: remove custom is_zero_mac_addr() function
  2026-03-23 15:06 ` [PATCH v2 0/6] replace custom functions with kernel network functions Nikolay Kulikov
                     ` (2 preceding siblings ...)
  2026-03-23 15:06   ` [PATCH v2 3/6] staging: rtl8723bs: move logical operators to end of previous line Nikolay Kulikov
@ 2026-03-23 15:06   ` Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 5/6] staging: rtl8723bs: remove custom is_broadcast_mac_addr() function Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 6/6] staging: rtl8723bs: remove custom is_multicast_mac_addr() function Nikolay Kulikov
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-23 15:06 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, ethantidmore06, Nikolay Kulikov

Remove the custom function is_zero_mac_addr() and replace all calls to it
with the default kernel function is_zero_ether_addr() to avoid
duplicating existing code.

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 2 +-
 drivers/staging/rtl8723bs/core/rtw_mlme.c      | 2 +-
 drivers/staging/rtl8723bs/include/ieee80211.h  | 6 ------
 3 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index eb4a32a998ae..c20a143ace4b 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -11,7 +11,7 @@ u8 rtw_validate_bssid(u8 *bssid)
 {
 	u8 ret = true;
 
-	if (is_zero_mac_addr(bssid) ||
+	if (is_zero_ether_addr(bssid) ||
 	    is_broadcast_mac_addr(bssid) ||
 	    is_multicast_mac_addr(bssid))
 		ret = false;
diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c
index 5516593bc8ab..43c2c3afa81e 100644
--- a/drivers/staging/rtl8723bs/core/rtw_mlme.c
+++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c
@@ -1694,7 +1694,7 @@ static int rtw_check_roaming_candidate(struct mlme_priv *mlme
 		goto exit;
 
 	/* got specific addr to roam */
-	if (!is_zero_mac_addr(mlme->roam_tgt_addr)) {
+	if (!is_zero_ether_addr(mlme->roam_tgt_addr)) {
 		if (!memcmp(mlme->roam_tgt_addr, competitor->network.mac_address, ETH_ALEN))
 			goto update;
 		else
diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h
index 14c806a22b38..37b9b363c073 100644
--- a/drivers/staging/rtl8723bs/include/ieee80211.h
+++ b/drivers/staging/rtl8723bs/include/ieee80211.h
@@ -518,12 +518,6 @@ static inline int is_broadcast_mac_addr(const u8 *addr)
 		(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
 }
 
-static inline int is_zero_mac_addr(const u8 *addr)
-{
-	return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) &&   \
-		(addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00));
-}
-
 #define CFG_IEEE80211_RESERVE_FCS (1<<0)
 #define CFG_IEEE80211_COMPUTE_FCS (1<<1)
 
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 5/6] staging: rtl8723bs: remove custom is_broadcast_mac_addr() function
  2026-03-23 15:06 ` [PATCH v2 0/6] replace custom functions with kernel network functions Nikolay Kulikov
                     ` (3 preceding siblings ...)
  2026-03-23 15:06   ` [PATCH v2 4/6] staging: rtl8723bs: remove custom is_zero_mac_addr() function Nikolay Kulikov
@ 2026-03-23 15:06   ` Nikolay Kulikov
  2026-03-23 15:06   ` [PATCH v2 6/6] staging: rtl8723bs: remove custom is_multicast_mac_addr() function Nikolay Kulikov
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-23 15:06 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, ethantidmore06, Nikolay Kulikov

Replace the custom broadcast address checking function with standard
kernel is_broadcast_ether_addr() func for this.

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 2 +-
 drivers/staging/rtl8723bs/core/rtw_recv.c      | 2 +-
 drivers/staging/rtl8723bs/core/rtw_security.c  | 4 ++--
 drivers/staging/rtl8723bs/include/ieee80211.h  | 6 ------
 4 files changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index c20a143ace4b..904ff0e14ec5 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -12,7 +12,7 @@ u8 rtw_validate_bssid(u8 *bssid)
 	u8 ret = true;
 
 	if (is_zero_ether_addr(bssid) ||
-	    is_broadcast_mac_addr(bssid) ||
+	    is_broadcast_ether_addr(bssid) ||
 	    is_multicast_mac_addr(bssid))
 		ret = false;
 
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index c5182438fd05..09cff9499a59 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1274,7 +1274,7 @@ static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_
 			    GetAddr1Ptr(precv_frame->u.hdr.rx_data),
 			    ETH_ALEN))
 			psta->sta_stats.rx_probersp_pkts++;
-		else if (is_broadcast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
+		else if (is_broadcast_ether_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
 			 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
 			psta->sta_stats.rx_probersp_bm_pkts++;
 		else
diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index b98bc1aa9cbe..c7017c8afddb 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -531,7 +531,7 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
 					if (start == 0)
 						start = jiffies;
 
-					if (is_broadcast_mac_addr(prxattrib->ra))
+					if (is_broadcast_ether_addr(prxattrib->ra))
 						no_gkey_bc_cnt++;
 					else
 						no_gkey_mc_cnt++;
@@ -1223,7 +1223,7 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
 					if (start == 0)
 						start = jiffies;
 
-					if (is_broadcast_mac_addr(prxattrib->ra))
+					if (is_broadcast_ether_addr(prxattrib->ra))
 						no_gkey_bc_cnt++;
 					else
 						no_gkey_mc_cnt++;
diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h
index 37b9b363c073..c3e06e693495 100644
--- a/drivers/staging/rtl8723bs/include/ieee80211.h
+++ b/drivers/staging/rtl8723bs/include/ieee80211.h
@@ -512,12 +512,6 @@ static inline int is_multicast_mac_addr(const u8 *addr)
 	return ((addr[0] != 0xff) && (0x01 & addr[0]));
 }
 
-static inline int is_broadcast_mac_addr(const u8 *addr)
-{
-	return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) &&   \
-		(addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff));
-}
-
 #define CFG_IEEE80211_RESERVE_FCS (1<<0)
 #define CFG_IEEE80211_COMPUTE_FCS (1<<1)
 
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 6/6] staging: rtl8723bs: remove custom is_multicast_mac_addr() function
  2026-03-23 15:06 ` [PATCH v2 0/6] replace custom functions with kernel network functions Nikolay Kulikov
                     ` (4 preceding siblings ...)
  2026-03-23 15:06   ` [PATCH v2 5/6] staging: rtl8723bs: remove custom is_broadcast_mac_addr() function Nikolay Kulikov
@ 2026-03-23 15:06   ` Nikolay Kulikov
  5 siblings, 0 replies; 15+ messages in thread
From: Nikolay Kulikov @ 2026-03-23 15:06 UTC (permalink / raw)
  To: gregkh; +Cc: linux-staging, ethantidmore06, Nikolay Kulikov

is_multicast_mac_addr() is redundant reimplementation of standard
is_multicast_ether_addr() func.
Remove it and switch to use is_multicast_ether_addr().

Signed-off-by: Nikolay Kulikov <nikolayof23@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_ioctl_set.c | 2 +-
 drivers/staging/rtl8723bs/core/rtw_recv.c      | 2 +-
 drivers/staging/rtl8723bs/include/ieee80211.h  | 5 -----
 3 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
index 904ff0e14ec5..c70541f95a73 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
@@ -13,7 +13,7 @@ u8 rtw_validate_bssid(u8 *bssid)
 
 	if (is_zero_ether_addr(bssid) ||
 	    is_broadcast_ether_addr(bssid) ||
-	    is_multicast_mac_addr(bssid))
+	    is_multicast_ether_addr(bssid))
 		ret = false;
 
 	return ret;
diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c
index 09cff9499a59..f78194d508df 100644
--- a/drivers/staging/rtl8723bs/core/rtw_recv.c
+++ b/drivers/staging/rtl8723bs/core/rtw_recv.c
@@ -1275,7 +1275,7 @@ static signed int validate_recv_mgnt_frame(struct adapter *padapter, union recv_
 			    ETH_ALEN))
 			psta->sta_stats.rx_probersp_pkts++;
 		else if (is_broadcast_ether_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)) ||
-			 is_multicast_mac_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
+			 is_multicast_ether_addr(GetAddr1Ptr(precv_frame->u.hdr.rx_data)))
 			psta->sta_stats.rx_probersp_bm_pkts++;
 		else
 			psta->sta_stats.rx_probersp_uo_pkts++;
diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h
index c3e06e693495..fbb12fe31a6c 100644
--- a/drivers/staging/rtl8723bs/include/ieee80211.h
+++ b/drivers/staging/rtl8723bs/include/ieee80211.h
@@ -507,11 +507,6 @@ Total: 28-2340 bytes
 #define DEFAULT_FTS 2346
 #define IP_ARG(x) (x)
 
-static inline int is_multicast_mac_addr(const u8 *addr)
-{
-	return ((addr[0] != 0xff) && (0x01 & addr[0]));
-}
-
 #define CFG_IEEE80211_RESERVE_FCS (1<<0)
 #define CFG_IEEE80211_COMPUTE_FCS (1<<1)
 
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-03-23 15:09 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-20 12:14 [PATCH 0/5] replace custom functions with kernel network Nikolay Kulikov
2026-03-20 12:14 ` [PATCH 1/5] staging: rtl8723bs: replace deeply nested if-else with switch-case Nikolay Kulikov
2026-03-20 17:30   ` Ethan Tidmore
2026-03-22  8:19     ` Nikolay Kulikov
2026-03-20 12:15 ` [PATCH 2/5] staging: rtl8723bs: move logical operators to end of previous line Nikolay Kulikov
2026-03-20 12:15 ` [PATCH 3/5] staging: rtl8723bs: remove custom is_zero_mac_addr() function Nikolay Kulikov
2026-03-20 12:15 ` [PATCH 4/5] staging: rtl8723bs: remove custom is_broadcast_mac_addr() function Nikolay Kulikov
2026-03-20 12:15 ` [PATCH 5/5] staging: rtl8723bs: remove custom is_multicast_mac_addr() function Nikolay Kulikov
2026-03-23 15:06 ` [PATCH v2 0/6] replace custom functions with kernel network functions Nikolay Kulikov
2026-03-23 15:06   ` [PATCH v2 1/6] staging: rtl8723bs: replace deeply nested if-else with switch-case Nikolay Kulikov
2026-03-23 15:06   ` [PATCH v2 2/6] staging: rtl8723bs: remove dead code in validate_recv_mgnt_frame() Nikolay Kulikov
2026-03-23 15:06   ` [PATCH v2 3/6] staging: rtl8723bs: move logical operators to end of previous line Nikolay Kulikov
2026-03-23 15:06   ` [PATCH v2 4/6] staging: rtl8723bs: remove custom is_zero_mac_addr() function Nikolay Kulikov
2026-03-23 15:06   ` [PATCH v2 5/6] staging: rtl8723bs: remove custom is_broadcast_mac_addr() function Nikolay Kulikov
2026-03-23 15:06   ` [PATCH v2 6/6] staging: rtl8723bs: remove custom is_multicast_mac_addr() function Nikolay Kulikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox