wlan: LFR MBB feature capability
Add feature capability check before triggering LFR MBB.
Also, add changes for new set link state.
Change-Id: I28e87cbffa1a049c5e79636cebef59acdb759976
CRs-Fixed: 1098427
diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h
index 38489e5..17be814 100644
--- a/CORE/MAC/src/include/sirParams.h
+++ b/CORE/MAC/src/include/sirParams.h
@@ -151,6 +151,9 @@
*/
SAP_OFFLOADS = 65,
SAP_BUFF_ALLOC = 66,
+#ifdef WLAN_FEATURE_LFR_MBB
+ MAKE_BEFORE_BREAK = 67,
+#endif
NUD_DEBUG = 68,
//MAX_FEATURE_SUPPORTED = 128
} placeHolderInCapBitmap;
diff --git a/CORE/SME/src/csr/csrNeighborRoam.c b/CORE/SME/src/csr/csrNeighborRoam.c
index b951864..db8bf1b 100644
--- a/CORE/SME/src/csr/csrNeighborRoam.c
+++ b/CORE/SME/src/csr/csrNeighborRoam.c
@@ -261,7 +261,12 @@
eHalStatus status = eHAL_STATUS_SUCCESS;
#ifdef WLAN_FEATURE_LFR_MBB
+ smsLog(pMac, LOG1, FL("enable_lfr_mbb %d is mbb supported %d"),
+ pMac->roam.configParam.enable_lfr_mbb,
+ sme_IsFeatureSupportedByFW(MAKE_BEFORE_BREAK));
+
if (pMac->roam.configParam.enable_lfr_mbb
+ && sme_IsFeatureSupportedByFW(MAKE_BEFORE_BREAK)
#ifdef WLAN_FEATURE_VOWIFI_11R
&& (!pNeighborRoamInfo->is11rAssoc)
#endif
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index 96bef70..8c745d9 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -3307,6 +3307,9 @@
WDI_LINK_FINISH_CAL_STATE = 13,
WDI_LINK_LISTEN_STATE = 14,
WDI_LINK_SEND_ACTION_STATE = 15,
+#ifdef WLAN_FEATURE_LFR_MBB
+ WDI_LINK_PRE_AUTH_REASSOC_STATE = 17,
+#endif
WDI_LINK_MAX = 0x7FFFFFFF
} WDI_LinkStateType;
diff --git a/CORE/WDI/CP/src/wlan_qct_wdi.c b/CORE/WDI/CP/src/wlan_qct_wdi.c
index 04a6add..a153bb9 100644
--- a/CORE/WDI/CP/src/wlan_qct_wdi.c
+++ b/CORE/WDI/CP/src/wlan_qct_wdi.c
@@ -223,7 +223,7 @@
,SAP_MODE_WOW //64
,SAP_OFFLOADS //65
,SAP_BUFF_ALLOC //66
- ,FEATURE_NOT_SUPPORTED
+ ,MAKE_BEFORE_BREAK //67
,NUD_DEBUG //68
};
@@ -2013,6 +2013,13 @@
"%s", "SAP_BUFF_ALLOC");
pCapStr += strlen("SAP_BUFF_ALLOC");
break;
+
+ case MAKE_BEFORE_BREAK:
+ snprintf(pCapStr, sizeof("MAKE_BEFORE_BREAK"),
+ "%s", "MAKE_BEFORE_BREAK");
+ pCapStr += strlen("MAKE_BEFORE_BREAK");
+ break;
+
case NUD_DEBUG:
snprintf(pCapStr, sizeof("NUD_DEBUG"),
"%s", "NUD_DEBUG");
@@ -25926,6 +25933,11 @@
case WDI_LINK_SEND_ACTION_STATE:
return eSIR_LINK_SEND_ACTION_STATE;
+#ifdef WLAN_FEATURE_LFR_MBB
+ case WDI_LINK_PRE_AUTH_REASSOC_STATE:
+ return eSIR_LINK_PRE_AUTH_REASSOC_STATE;
+#endif
+
default:
return eSIR_LINK_MAX;
}