[rdkb][common][app][Add patches for wifi agent]

[Description]
Add patches for wifi agent

[Release-log]

Change-Id: I32ae2b55162c50795d1ca0da7ba8f7e4aee78e15
diff --git a/recipes-wifi/ccsp/ccsp-wifi-agent.bbappend b/recipes-wifi/ccsp/ccsp-wifi-agent.bbappend
new file mode 100644
index 0000000..9b9affb
--- /dev/null
+++ b/recipes-wifi/ccsp/ccsp-wifi-agent.bbappend
@@ -0,0 +1,22 @@
+FILESEXTRAPATHS_append := "${THISDIR}/files:"
+
+CFLAGS_append += " -DWIFI_HAL_VERSION_3 -DCONFIG_DFS"
+
+SRC_URI_append += " \
+    file://fix_guardInterval_set_issue.patch;apply=no \
+    file://Fix-dmcli-can-not-set-password.patch;apply=no \
+"
+
+# we need to patch to code for ccsp-wifi-agent
+do_filogic_patches() {
+    cd ${S}
+    if [ ! -e filogic_patch_applied ]; then
+        patch  -p1 < ${WORKDIR}/fix_guardInterval_set_issue.patch ${S}/source/TR-181/sbapi/cosa_wifi_apis.c
+        patch  -p1 < ${WORKDIR}/Fix-dmcli-can-not-set-password.patch ${S}/source/TR-181/ml/cosa_wifi_dml.c
+        touch filogic_patch_applied
+    fi
+}
+addtask filogic_patches after do_unpack before do_configure
+
+
+
diff --git a/recipes-wifi/ccsp/files/Fix-dmcli-can-not-set-password.patch b/recipes-wifi/ccsp/files/Fix-dmcli-can-not-set-password.patch
new file mode 100644
index 0000000..210fafc
--- /dev/null
+++ b/recipes-wifi/ccsp/files/Fix-dmcli-can-not-set-password.patch
@@ -0,0 +1,25 @@
+From 9ccf010f2a1d9d6c5927d563fbba16a35400ed50 Mon Sep 17 00:00:00 2001
+From: "Allen.Ye" <allen.ye@mediatek.com>
+Date: Tue, 6 Dec 2022 11:04:16 +0800
+Subject: [PATCH] Fix dmcli can not set password
+
+---
+ source/TR-181/ml/cosa_wifi_dml.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source/TR-181/ml/cosa_wifi_dml.c b/source/TR-181/ml/cosa_wifi_dml.c
+index 0759e024..c1aaf42e 100755
+--- a/source/TR-181/ml/cosa_wifi_dml.c
++++ b/source/TR-181/ml/cosa_wifi_dml.c
+@@ -12459,7 +12459,7 @@ Security_SetParamStringValue
+             case wifi_security_mode_wpa_personal:
+             case wifi_security_mode_wpa2_personal:
+             case wifi_security_mode_wpa_wpa2_personal:
+-                vapInfo->u.bss_info.security.u.key.type = wifi_security_key_type_pass;
++                vapInfo->u.bss_info.security.u.key.type = wifi_security_key_type_psk;
+                 vapInfo->u.bss_info.security.mfp = wifi_mfp_cfg_disabled;
+                 break;
+             case wifi_security_mode_wpa3_personal:
+-- 
+2.18.0
+
diff --git a/recipes-wifi/ccsp/files/fix_guardInterval_set_issue.patch b/recipes-wifi/ccsp/files/fix_guardInterval_set_issue.patch
new file mode 100644
index 0000000..a8310c1
--- /dev/null
+++ b/recipes-wifi/ccsp/files/fix_guardInterval_set_issue.patch
@@ -0,0 +1,21 @@
+diff --git a/source/TR-181/sbapi/cosa_wifi_apis.c b/source/TR-181/sbapi/cosa_wifi_apis.c
+index e20a3854..683d65c9 100644
+--- a/source/TR-181/sbapi/cosa_wifi_apis.c
++++ b/source/TR-181/sbapi/cosa_wifi_apis.c
+@@ -4860,7 +4860,15 @@ CosaDmlWiFiSetRadioPsmData
+     memset(recName, '\0', sizeof(recName));
+     memset(strValue, '\0', sizeof(strValue));
+     snprintf(recName, sizeof(recName), GuardInterval, ulInstance);
+-    snprintf(strValue, sizeof(strValue), "%d", wifiRadioOperParam->guardInterval);
++    for (int seqCounter = 0; seqCounter < ARRAY_SZ(wifiGuardIntervalMap); seqCounter++)
++    {
++        if (wifiRadioOperParam->guardInterval == wifiGuardIntervalMap[seqCounter].halGuardInterval)
++        {
++        	CcspWifiTrace(("RDK_LOG_WARN,WIFI %s  GuardInterval = %d\n",__FUNCTION__, wifiGuardIntervalMap[seqCounter].cosaGuardInterval));
++        	snprintf(strValue, sizeof(strValue), "%d", wifiGuardIntervalMap[seqCounter].cosaGuardInterval);
++        	break;
++        }
++    }
+     retPsmSet = PSM_Set_Record_Value2(bus_handle,g_Subsystem, recName, ccsp_string, strValue);
+     if (retPsmSet != CCSP_SUCCESS) {
+           wifiDbgPrintf("%s PSM_Set_Record_Value2 returned error %d while setting Guard Interval \n",__FUNCTION__, retPsmSet);