Merge "wlan: Release intf addr before closing P2P adapter" into wlan-driver.lnx.1.0
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index aa95229..8d1e421 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -62,6 +62,7 @@
//#include <wlan_qct_driver.h>
#include <wlan_hdd_includes.h>
#include <vos_api.h>
+#include <vos_nvitem.h>
#include <vos_sched.h>
#include <linux/etherdevice.h>
#include <linux/firmware.h>
@@ -15657,6 +15658,13 @@
{
eHalStatus status;
+ if (init == INIT && init_by_reg_core_user) {
+ init_by_reg_core_user = false;
+ pr_info("driver regulatory hint is not required");
+
+ return VOS_STATUS_SUCCESS;
+ }
+
status = sme_InitChannelsForCC(pHddCtx->hHal, init);
if (HAL_STATUS_SUCCESS(status))
{
diff --git a/CORE/VOSS/inc/vos_nvitem.h b/CORE/VOSS/inc/vos_nvitem.h
index f86bf80..fd1928c 100644
--- a/CORE/VOSS/inc/vos_nvitem.h
+++ b/CORE/VOSS/inc/vos_nvitem.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2015, 2018 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -47,6 +47,8 @@
#include "wlan_nv.h"
#include "wlan_nv2.h"
+extern bool init_by_reg_core_user;
+
/* Maximum number of channels per country can be ignored */
#define MAX_CHANNELS_IGNORE 10
#define MAX_COUNTRY_IGNORE 5
diff --git a/CORE/VOSS/src/vos_nvitem.c b/CORE/VOSS/src/vos_nvitem.c
index 35ab905..d083f6a 100644
--- a/CORE/VOSS/src/vos_nvitem.c
+++ b/CORE/VOSS/src/vos_nvitem.c
@@ -60,6 +60,8 @@
#define IEEE80211_CHAN_NO_80MHZ 1<<7
#endif
+bool init_by_reg_core_user;
+
#ifdef CONFIG_ENABLE_LINUX_REG
static v_REGDOMAIN_t cur_reg_domain = REGDOMAIN_COUNT;
@@ -4064,6 +4066,9 @@
VOS_TRACE(VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_INFO,
"cfg80211 reg notifier callback for country for initiator %d", request->initiator);
+ pr_info("country: %c%c and initiator %d", request->alpha2[0],
+ request->alpha2[1], request->initiator);
+
if (NULL == pHddCtx)
{
VOS_TRACE( VOS_MODULE_ID_VOSS, VOS_TRACE_LEVEL_ERROR,
@@ -4204,6 +4209,9 @@
}
else
{
+ if (WLAN_HDD_IS_LOAD_IN_PROGRESS(pHddCtx))
+ init_by_reg_core_user = true;
+
sme_GenericChangeCountryCode(pHddCtx->hHal, country_code,
temp_reg_domain);
}