|
@@ -62,6 +62,7 @@
|
|
|
#include <wlan_utility.h>
|
|
|
#include <wlan_mlme_main.h>
|
|
|
#include "host_diag_core_log.h"
|
|
|
+#include <wlan_mlme_api.h>
|
|
|
|
|
|
/* MCS Based rate table */
|
|
|
/* HT MCS parameters with Nss = 1 */
|
|
@@ -4460,11 +4461,22 @@ static void wma_set_roam_offload_flag(tp_wma_handle wma, uint8_t vdev_id,
|
|
|
{
|
|
|
QDF_STATUS status;
|
|
|
uint32_t flag = 0;
|
|
|
+ bool disable_4way_hs_offload;
|
|
|
|
|
|
- if (is_set)
|
|
|
+ if (is_set) {
|
|
|
flag = WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG |
|
|
|
WMI_ROAM_BMISS_FINAL_SCAN_ENABLE_FLAG;
|
|
|
|
|
|
+ wlan_mlme_get_4way_hs_offload(wma->psoc,
|
|
|
+ &disable_4way_hs_offload);
|
|
|
+ /*
|
|
|
+ * If 4-way HS offload is disabled then let supplicant handle
|
|
|
+ * 4way HS and firmware will still do LFR3.0 till reassoc phase.
|
|
|
+ */
|
|
|
+ if (disable_4way_hs_offload)
|
|
|
+ flag |= WMI_VDEV_PARAM_SKIP_ROAM_EAPOL_4WAY_HANDSHAKE;
|
|
|
+ }
|
|
|
+
|
|
|
WMA_LOGD("%s: vdev_id:%d, is_set:%d, flag:%d, roam_offload_enabled:%d",
|
|
|
__func__, vdev_id, is_set, flag,
|
|
|
wma->interfaces[vdev_id].roam_offload_enabled);
|