From 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Tue, 22 Oct 2024 10:36:11 +0000
Subject: [PATCH] 修改4g拨号为QMI,需要在系统里后台执行quectel-CM

---
 kernel/drivers/net/wireless/rockchip_wlan/rtl8723cs/core/rtw_tdls.c |   38 ++++++++++++++++----------------------
 1 files changed, 16 insertions(+), 22 deletions(-)

diff --git a/kernel/drivers/net/wireless/rockchip_wlan/rtl8723cs/core/rtw_tdls.c b/kernel/drivers/net/wireless/rockchip_wlan/rtl8723cs/core/rtw_tdls.c
index a52baf8..d557234 100644
--- a/kernel/drivers/net/wireless/rockchip_wlan/rtl8723cs/core/rtw_tdls.c
+++ b/kernel/drivers/net/wireless/rockchip_wlan/rtl8723cs/core/rtw_tdls.c
@@ -1918,15 +1918,13 @@
 
 			switch (pIE->ElementID) {
 			case _SUPPORTEDRATES_IE_:
-				if (pIE->Length <= sizeof(supportRate)) {
-					_rtw_memcpy(supportRate, pIE->data, pIE->Length);
-					supportRateNum = pIE->Length;
-				}
+				_rtw_memcpy(supportRate, pIE->data, pIE->Length);
+				supportRateNum = pIE->Length;
 				break;
 			case _COUNTRY_IE_:
 				break;
 			case _EXT_SUPPORTEDRATES_IE_:
-				if ((supportRateNum + pIE->Length) <= sizeof(supportRate)) {
+				if (supportRateNum < sizeof(supportRate)) {
 					_rtw_memcpy(supportRate + supportRateNum, pIE->data, pIE->Length);
 					supportRateNum += pIE->Length;
 				}
@@ -1937,19 +1935,17 @@
 				rsnie_included = 1;
 				if (prx_pkt_attrib->encrypt) {
 					prsnie = (u8 *)pIE;
-					if (pIE->Length <= sizeof(ptdls_sta->TDLS_RSNIE)) {
-						/* Check CCMP pairwise_cipher presence. */
-						ppairwise_cipher = prsnie + 10;
-						_rtw_memcpy(ptdls_sta->TDLS_RSNIE, pIE->data, pIE->Length);
-						pairwise_count = *(u16 *)(ppairwise_cipher - 2);
-						for (k = 0; k < pairwise_count; k++) {
-							if (_rtw_memcmp(ppairwise_cipher + 4 * k, RSN_CIPHER_SUITE_CCMP, 4) == _TRUE)
-								ccmp_included = 1;
-						}
-
-						if (ccmp_included == 0)
-							txmgmt.status_code = _STATS_INVALID_RSNIE_;
+					/* Check CCMP pairwise_cipher presence. */
+					ppairwise_cipher = prsnie + 10;
+					_rtw_memcpy(ptdls_sta->TDLS_RSNIE, pIE->data, pIE->Length);
+					pairwise_count = *(u16 *)(ppairwise_cipher - 2);
+					for (k = 0; k < pairwise_count; k++) {
+						if (_rtw_memcmp(ppairwise_cipher + 4 * k, RSN_CIPHER_SUITE_CCMP, 4) == _TRUE)
+							ccmp_included = 1;
 					}
+
+					if (ccmp_included == 0)
+						txmgmt.status_code = _STATS_INVALID_RSNIE_;
 				}
 				break;
 			case _EXT_CAP_IE_:
@@ -2104,15 +2100,13 @@
 
 		switch (pIE->ElementID) {
 		case _SUPPORTEDRATES_IE_:
-			if (pIE->Length <= sizeof(supportRate)) {
-				_rtw_memcpy(supportRate, pIE->data, pIE->Length);
-				supportRateNum = pIE->Length;
-			}
+			_rtw_memcpy(supportRate, pIE->data, pIE->Length);
+			supportRateNum = pIE->Length;
 			break;
 		case _COUNTRY_IE_:
 			break;
 		case _EXT_SUPPORTEDRATES_IE_:
-			if ((supportRateNum + pIE->Length) <= sizeof(supportRate)) {
+			if (supportRateNum < sizeof(supportRate)) {
 				_rtw_memcpy(supportRate + supportRateNum, pIE->data, pIE->Length);
 				supportRateNum += pIE->Length;
 			}

--
Gitblit v1.6.2