Commit c4587d05 authored by Nikolay Kulikov's avatar Nikolay Kulikov Committed by Greg Kroah-Hartman
Browse files

staging: rtl8723bs: replace deeply nested if-else with switch-case



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: default avatarNikolay Kulikov <nikolayof23@gmail.com>
Link: https://patch.msgid.link/20260323150650.7168-2-nikolayof23@gmail.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8c964b82
Loading
Loading
Loading
Loading
+28 −20
Original line number Diff line number Diff line
@@ -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));
	psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(precv_frame->u.hdr.rx_data));
	if (!psta)
		goto exit;

		if (psta) {
	psta->sta_stats.rx_mgnt_pkts++;
			if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_BEACON)

	switch (GetFrameSubType(precv_frame->u.hdr.rx_data)) {
	case WIFI_BEACON:
		psta->sta_stats.rx_beacon_pkts++;
			else if (GetFrameSubType(precv_frame->u.hdr.rx_data) == WIFI_PROBEREQ)
		break;
	case 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))
		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;