[rdk-b][mt7986][wifi-hal][Refactor get ap enable and get channel bandwidth functions]

[Description]
Refactor these two functions to stop annoying error message.
Wi-Fi agent call them every 5 seconds.
If the radio is not set up, the command would ouput command fail message to stderr. Thus, add a check and move error message to /dev/null in two functions.
In getApEnable, we only consider stdout output.

[Release-log]
N/A

diff --git a/recipes-ccsp/hal/hal-wifi-patches/0044-HAL-refactor-getApEnable-and-getRadioOperatingChanne.patch b/recipes-ccsp/hal/hal-wifi-patches/0044-HAL-refactor-getApEnable-and-getRadioOperatingChanne.patch
new file mode 100644
index 0000000..a0eff13
--- /dev/null
+++ b/recipes-ccsp/hal/hal-wifi-patches/0044-HAL-refactor-getApEnable-and-getRadioOperatingChanne.patch
@@ -0,0 +1,57 @@
+From 66b11922d4bcf3f4b689b51516beef1f530d908f Mon Sep 17 00:00:00 2001
+From: "Allen.Ye" <allen.ye@mediatek.com>
+Date: Mon, 29 Aug 2022 13:20:52 +0800
+Subject: [PATCH] HAL: refactor getApEnable and
+ getRadioOperatingChannelBandwidth
+
+---
+ source/wifi/wifi_hal.c | 21 +++++++++++++--------
+ 1 file changed, 13 insertions(+), 8 deletions(-)
+
+diff --git a/source/wifi/wifi_hal.c b/source/wifi/wifi_hal.c
+index ebbe4b0..2ae34d9 100644
+--- a/source/wifi/wifi_hal.c
++++ b/source/wifi/wifi_hal.c
+@@ -2200,18 +2200,23 @@ INT wifi_setRadioDfsRefreshPeriod(INT radioIndex, ULONG seconds) //Tr181
+ //The output_string is a max length 64 octet string that is allocated by the RDKB code.  Implementations must ensure that strings are not longer than this.
+ INT wifi_getRadioOperatingChannelBandwidth(INT radioIndex, CHAR *output_string) //Tr181
+ {
++    char cmd[128] = {0}, buf[64] = {0};
++    char interface_name[64] = {0};
++    int ret = 0, len=0;
++    BOOL radio_enable = FALSE;
++
++    WIFI_ENTRY_EXIT_DEBUG("Inside %s:%d\n",__func__, __LINE__);
++
+     if (NULL == output_string)
+         return RETURN_ERR;
+ 
+-    WIFI_ENTRY_EXIT_DEBUG("Inside %s:%d\n",__func__, __LINE__);
+-    char cmd[1024] = {0}, buf[64] = {0};
+-    int ret = 0, len=0;
++    if (wifi_getRadioEnable(radioIndex, &radio_enable) == RETURN_ERR)
++        return RETURN_ERR;
+ 
+-    snprintf(cmd, sizeof(cmd),
+-        "ls -1 /sys/class/net/%s%d/device/ieee80211/phy*/device/net/ | "
+-        "xargs -I {} iw dev {} info | grep width | head -n1 | "
+-        "cut -d ' ' -f6", RADIO_PREFIX, radioIndex);
++    if (radio_enable != TRUE)
++        return RETURN_OK;
+ 
++    snprintf(cmd, sizeof(cmd),"iw dev %s%d info | grep 'width' | cut -d  ' ' -f6", AP_PREFIX, radioIndex);
+     ret = _syscmd(cmd, buf, sizeof(buf));
+     len = strlen(buf);
+     if((ret != 0) || (len == 0))
+@@ -5209,7 +5214,7 @@ INT wifi_getApEnable(INT apIndex, BOOL *output_bool)
+ 
+     if((apIndex >= 0) && (apIndex < MAX_APS))//Handling 6 APs
+     {
+-        sprintf(cmd, "%s%s%d%s", "ifconfig ", AP_PREFIX, apIndex, " | grep UP");
++        sprintf(cmd, "ifconfig %s%d 2> /dev/null | grep UP", AP_PREFIX, apIndex);
+         *output_bool = _syscmd(cmd,buf,sizeof(buf))?0:1;
+     }
+ 
+-- 
+2.18.0
+