Project import generated by Copybara.
GitOrigin-RevId: da08bfbf6b3384609bb28cb2539d6a9feaa0290a
diff --git a/wlan_sd8987/mlan/mlan_decl.h b/wlan_sd8987/mlan/mlan_decl.h
index f6e4239..8ae44dc 100755
--- a/wlan_sd8987/mlan/mlan_decl.h
+++ b/wlan_sd8987/mlan/mlan_decl.h
@@ -24,7 +24,7 @@
#define _MLAN_DECL_H_
/** MLAN release version */
-#define MLAN_RELEASE_VERSION "292.p13"
+#define MLAN_RELEASE_VERSION "292.p15"
/** Re-define generic data types for MLAN/MOAL */
/** Signed char (1-byte) */
diff --git a/wlan_sd8987/mlinux/mlan_decl.h b/wlan_sd8987/mlinux/mlan_decl.h
index f6e4239..8ae44dc 100755
--- a/wlan_sd8987/mlinux/mlan_decl.h
+++ b/wlan_sd8987/mlinux/mlan_decl.h
@@ -24,7 +24,7 @@
#define _MLAN_DECL_H_
/** MLAN release version */
-#define MLAN_RELEASE_VERSION "292.p13"
+#define MLAN_RELEASE_VERSION "292.p15"
/** Re-define generic data types for MLAN/MOAL */
/** Signed char (1-byte) */
diff --git a/wlan_sd8987/mlinux/moal_cfg80211_util.c b/wlan_sd8987/mlinux/moal_cfg80211_util.c
index 05cc2ac..22c71c6 100755
--- a/wlan_sd8987/mlinux/moal_cfg80211_util.c
+++ b/wlan_sd8987/mlinux/moal_cfg80211_util.c
@@ -784,7 +784,7 @@
| WLAN_FEATURE_LINK_LAYER_STATS
| WLAN_FEATURE_LOGGER
| WLAN_FEATURE_RSSI_MONITOR | WLAN_FEATURE_CONFIG_NDO
- | WLAN_FEATURE_CONTROL_ROAMING | WLAN_FEATURE_SCAN_RAND
+ | WLAN_FEATURE_SCAN_RAND
//#ifdef RTT_SUPPORT
// | WLAN_FEATURE_D2AP_RTT
//#endif
diff --git a/wlan_sd8987/mlinux/moal_sta_cfg80211.c b/wlan_sd8987/mlinux/moal_sta_cfg80211.c
index 0460506..9914fbc 100755
--- a/wlan_sd8987/mlinux/moal_sta_cfg80211.c
+++ b/wlan_sd8987/mlinux/moal_sta_cfg80211.c
@@ -1810,7 +1810,7 @@
req->bss->bssid, MLAN_MAC_ADDR_LENGTH,
MLAN_MAC_ADDR_LENGTH);
if (req->ie && req->ie_len) {
- priv->sme_current.ie = kzalloc(req->ie_len, GFP_KERNEL);
+ priv->sme_current.ie = kzalloc(req->ie_len, GFP_ATOMIC);
priv->sme_current.ie_len = req->ie_len;
moal_memcpy_ext(priv->phandle, (void *)priv->sme_current.ie,
req->ie, req->ie_len, priv->sme_current.ie_len);
@@ -2461,6 +2461,7 @@
flags);
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+ mutex_lock(&priv->wdev->mtx);
cfg80211_rx_assoc_resp(priv->netdev,
bss,
assoc_rsp->
@@ -2468,8 +2469,10 @@
assoc_rsp->
assoc_resp_len,
-1, NULL, 0);
+ mutex_unlock(&priv->wdev->mtx);
#else
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 18, 0)
+ mutex_lock(&priv->wdev->mtx);
cfg80211_rx_assoc_resp(priv->netdev,
bss,
assoc_rsp->
@@ -2477,14 +2480,17 @@
assoc_rsp->
assoc_resp_len,
-1);
+ mutex_unlock(&priv->wdev->mtx);
#else
#if CFG80211_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)
+ mutex_lock(&priv->wdev->mtx);
cfg80211_rx_assoc_resp(priv->netdev,
bss,
assoc_rsp->
assoc_resp_buf,
assoc_rsp->
assoc_resp_len);
+ mutex_unlock(&priv->wdev->mtx);
#else
cfg80211_send_rx_assoc(priv->netdev,
bss,