From d819b6d2669a20b17c562c85ab96a1f1ac36d953 Mon Sep 17 00:00:00 2001 From: Sherry Sun Date: Mon, 14 Nov 2022 09:08:04 +0800 Subject: [PATCH] mxm_wifiex: update to mxm5x17366.p5 release Driver Bug Fixes: ----------------- 1. WCSWREL-386: wifi cannot re-connect to AP automatically after resume back Signed-off-by: Sherry Sun --- mxm_wifiex/wlan_src/mlan/mlan_11h.c | 2 -- mxm_wifiex/wlan_src/mlan/mlan_decl.h | 2 +- mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c | 2 +- mxm_wifiex/wlan_src/mlinux/mlan_decl.h | 2 +- .../wlan_src/mlinux/moal_sta_cfg80211.c | 22 +++++++++++++++++++ 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/mxm_wifiex/wlan_src/mlan/mlan_11h.c b/mxm_wifiex/wlan_src/mlan/mlan_11h.c index c37ccce..73fc5ba 100644 --- a/mxm_wifiex/wlan_src/mlan/mlan_11h.c +++ b/mxm_wifiex/wlan_src/mlan/mlan_11h.c @@ -771,11 +771,9 @@ static mlan_status wlan_11h_cmd_chan_rpt_req(mlan_private *priv, PRINTM(MCMND, "DFS: STOP\n"); } pcmd_ptr->size += sizeof(MrvlIEtypes_ZeroDfsOperation_t); - pcmd_ptr->size = wlan_cpu_to_le16(pcmd_ptr->size); LEAVE(); return MLAN_STATUS_SUCCESS; } - pcmd_ptr->size = wlan_cpu_to_le16(pcmd_ptr->size); /* update dfs sturcture. * dfs_check_pending is set when we receive CMD_RESP == SUCCESS */ diff --git a/mxm_wifiex/wlan_src/mlan/mlan_decl.h b/mxm_wifiex/wlan_src/mlan/mlan_decl.h index b3264af..70e970a 100644 --- a/mxm_wifiex/wlan_src/mlan/mlan_decl.h +++ b/mxm_wifiex/wlan_src/mlan/mlan_decl.h @@ -24,7 +24,7 @@ #define _MLAN_DECL_H_ /** MLAN release version */ -#define MLAN_RELEASE_VERSION "366.p3" +#define MLAN_RELEASE_VERSION "366.p5" /** Re-define generic data types for MLAN/MOAL */ /** Signed char (1-byte) */ diff --git a/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c b/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c index b8df239..982b7e6 100644 --- a/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c +++ b/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c @@ -199,7 +199,7 @@ static mlan_status uap_process_cmdresp_error(mlan_private *pmpriv, mlan_status ret = MLAN_STATUS_FAILURE; ENTER(); - if (resp->command != HostCmd_CMD_WMM_PARAM_CONFIG || + if (resp->command != HostCmd_CMD_WMM_PARAM_CONFIG && resp->command != HostCmd_CMD_CHAN_REGION_CFG) PRINTM(MERROR, "CMD_RESP: cmd %#x error, result=%#x\n", resp->command, resp->result); diff --git a/mxm_wifiex/wlan_src/mlinux/mlan_decl.h b/mxm_wifiex/wlan_src/mlinux/mlan_decl.h index b3264af..70e970a 100644 --- a/mxm_wifiex/wlan_src/mlinux/mlan_decl.h +++ b/mxm_wifiex/wlan_src/mlinux/mlan_decl.h @@ -24,7 +24,7 @@ #define _MLAN_DECL_H_ /** MLAN release version */ -#define MLAN_RELEASE_VERSION "366.p3" +#define MLAN_RELEASE_VERSION "366.p5" /** Re-define generic data types for MLAN/MOAL */ /** Signed char (1-byte) */ diff --git a/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c b/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c index 73d544c..f13f641 100644 --- a/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c +++ b/mxm_wifiex/wlan_src/mlinux/moal_sta_cfg80211.c @@ -5462,6 +5462,17 @@ static int woal_cfg80211_deauthenticate(struct wiphy *wiphy, #if CFG80211_VERSION_CODE < KERNEL_VERSION(3, 11, 0) moal_private *pmpriv = (moal_private *)woal_get_netdev_priv(dev); #endif +#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) + moal_private *priv = (moal_private *)woal_get_netdev_priv(dev); + if (priv->host_mlme) { + priv->host_mlme = MFALSE; + priv->auth_flag = 0; + priv->auth_alg = 0xFFFF; + /*send deauth packet to notify disconnection to wpa_supplicant + */ + woal_deauth_event(priv, req->reason_code); + } +#endif ret = woal_cfg80211_disconnect(wiphy, dev, req->reason_code); #if CFG80211_VERSION_CODE < KERNEL_VERSION(3, 11, 0) @@ -5493,6 +5504,17 @@ static int woal_cfg80211_disassociate(struct wiphy *wiphy, #if CFG80211_VERSION_CODE < KERNEL_VERSION(3, 11, 0) moal_private *pmpriv = (moal_private *)woal_get_netdev_priv(dev); #endif +#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 8, 0) + moal_private *priv = (moal_private *)woal_get_netdev_priv(dev); + if (priv->host_mlme) { + priv->host_mlme = MFALSE; + priv->auth_flag = 0; + priv->auth_alg = 0xFFFF; + /*send deauth packet to notify disconnection to wpa_supplicant + */ + woal_deauth_event(priv, req->reason_code); + } +#endif ret = woal_cfg80211_disconnect(wiphy, dev, req->reason_code); #if CFG80211_VERSION_CODE < KERNEL_VERSION(3, 11, 0)