From 53e4de92869cc09ed1d86af2c939cd1e4f3c86e6 Mon Sep 17 00:00:00 2001 From: yunjie Date: Fri, 30 Aug 2024 20:25:15 +0000 Subject: [PATCH] MA-22742-2 2024 Q3 WCS WiFi/BT patch integrate Reason: integrate WCS 2024 Q3 RC3 release patch, WiFi driver part version: MM6X17437.p30 Tested: on i.MX8MQ related FW info: PCIE_UART_8997_16.92.21.p137.3 PCIE_UART_9098_17.92.1.p149.156 SDIO_UART_8987_16.92.21.p137.3 SDIO_UART_8997_16.92.21.p137.3 SDIO_UART_9098_17.92.1.p149.156 SDIO_UART_IW416_16.92.21.p137.3 SDIO_UART_IW612_18.99.3.p15.10 SDIO_WLAN_8801_14.92.36.p192 Change-Id: Ia3ec42c2107a63284bfe93f77500e352113e6050 Signed-off-by: yunjie --- Makefile | 2 +- mlinux/moal_eth_ioctl.c | 7 +++++-- mlinux/moal_pcie.c | 3 +-- mlinux/moal_sdio_mmc.c | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index ccfbfbc..2e0a5a2 100644 --- a/Makefile +++ b/Makefile @@ -155,7 +155,7 @@ APPDIR= $(shell if test -d "mapp"; then echo mapp; fi) ############################################################################# ccflags-y += -I$(KERNELDIR)/include - ccflags-y += -DMLAN_RELEASE_VERSION='"437.p28"' + ccflags-y += -DMLAN_RELEASE_VERSION='"437.p30"' ccflags-y += -DFPNUM='"92"' diff --git a/mlinux/moal_eth_ioctl.c b/mlinux/moal_eth_ioctl.c index 111d7f4..2893275 100644 --- a/mlinux/moal_eth_ioctl.c +++ b/mlinux/moal_eth_ioctl.c @@ -449,6 +449,7 @@ static int woal_set_priv_11axcmdcfg_llde_pkt_filer_cmd( t_u8 peer_mac[ETH_ALEN] = {0}; t_u8 convert_int[2] = {0}; int tmp_val = 0; + t_u8 *tmp_pos = NULL; /* if llde device_filter or macfilter is not present in config file then * return */ @@ -477,7 +478,8 @@ static int woal_set_priv_11axcmdcfg_llde_pkt_filer_cmd( llde_pkt_filter_pos = llde_pkt_filter_pos + strlen("macfilter1="); - if (llde_pkt_filter_pos && (llde_pkt_filter_pos + MAC_STRING_LENGTH)) { + tmp_pos = llde_pkt_filter_pos + MAC_STRING_LENGTH; + if (llde_pkt_filter_pos && tmp_pos) { moal_memcpy_ext(priv->phandle, (t_u8 *)mac_pos, (t_u8 *)llde_pkt_filter_pos, MAC_STRING_LENGTH, MAC_STRING_LENGTH); @@ -491,7 +493,8 @@ static int woal_set_priv_11axcmdcfg_llde_pkt_filer_cmd( llde_pkt_filter_pos = llde_pkt_filter_pos + strlen("macfilter2="); - if (llde_pkt_filter_pos && (llde_pkt_filter_pos + MAC_STRING_LENGTH)) { + tmp_pos = llde_pkt_filter_pos + MAC_STRING_LENGTH; + if (llde_pkt_filter_pos && tmp_pos) { moal_memcpy_ext(priv->phandle, (t_u8 *)mac_pos, (t_u8 *)llde_pkt_filter_pos, MAC_STRING_LENGTH, MAC_STRING_LENGTH); diff --git a/mlinux/moal_pcie.c b/mlinux/moal_pcie.c index ae2344c..5cc4fcd 100644 --- a/mlinux/moal_pcie.c +++ b/mlinux/moal_pcie.c @@ -681,8 +681,7 @@ static void woal_pcie_shutdown(struct pci_dev *dev) } handle = card->handle; if (!handle) { - PRINTM(MINFO, "PCIE card handle is null!\n"); - pci_disable_device(dev); + PRINTM(MINFO, "Invalid handle\n"); LEAVE(); return; } diff --git a/mlinux/moal_sdio_mmc.c b/mlinux/moal_sdio_mmc.c index de10b29..f8ecdd0 100644 --- a/mlinux/moal_sdio_mmc.c +++ b/mlinux/moal_sdio_mmc.c @@ -708,7 +708,6 @@ void woal_sdio_shutdown(struct device *dev) PRINTM(MMSG, "Shutdown not allowed\n"); goto done; } - woal_sched_timeout(200); woal_enable_hs(woal_get_priv(handle, MLAN_BSS_ROLE_ANY)); wait_event_interruptible_timeout( @@ -828,6 +827,7 @@ int woal_sdio_suspend(struct device *dev) #ifdef MMC_PM_FUNC_SUSPENDED handle->suspend_notify_req = MTRUE; #endif + woal_sched_timeout(200); hs_actived = woal_enable_hs( woal_get_priv(handle, MLAN_BSS_ROLE_ANY)); #ifdef MMC_PM_FUNC_SUSPENDED