Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 157e9ab1 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 2c9ea943 on remote branch

Change-Id: I04697954666d16875b54b6f4f4961cc38372543e
parents 849b9c41 2c9ea943
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -3317,6 +3317,11 @@ This feature requires the dependent cfg.ini "gRoamPrefer5GHz" set to 1 */
#define CFG_ENABLE_SAE_FOR_SAP_MIN     (0)
#define CFG_ENABLE_SAE_FOR_SAP_MAX     (1)

#define CFG_SW_PTA_ENABLE_NAME         "sw_pta_enable"
#define CFG_SW_PTA_ENABLE_DEFAULT      (0)
#define CFG_SW_PTA_ENABLE_MIN          (0)
#define CFG_SW_PTA_ENABLE_MAX          (1)

/*--------------------------------------------------------------------------- 
  Type declarations
  -------------------------------------------------------------------------*/ 
@@ -3940,6 +3945,9 @@ typedef struct
#ifdef FEATURE_WLAN_LFR
   uint8_t                     bssid_blacklist_timeout;
#endif
#ifdef FEATURE_WLAN_SW_PTA
   bool                        is_sw_pta_enabled;
#endif
} hdd_config_t;

/*--------------------------------------------------------------------------- 
+18 −0
Original line number Diff line number Diff line
@@ -2314,6 +2314,24 @@ void hdd_disable_roaming(hdd_context_t *hdd_ctx);
 */
void hdd_restore_roaming(hdd_context_t *hdd_ctx);

/**
 * hdd_chan_change_notify() - Function to notify about channel change
 * @adapter: pointer to adapter
 * @dev: Net device structure
 * @oper_chan: New operating channel
 * @phy_mode: phy mode
 *
 * This function is used to notify hostapd/supplicant about the channel change
 *
 * Return: Success on intimating userspace
 *
 */
VOS_STATUS hdd_chan_change_notify(hdd_adapter_t *adapter,
        struct net_device *dev,
        uint8_t oper_chan,
        eCsrPhyMode phy_mode);


int wlan_hdd_check_and_stop_mon(hdd_adapter_t *sta_adapter, bool wait);

/**
+19 −0
Original line number Diff line number Diff line
@@ -4414,6 +4414,7 @@ eHalStatus hdd_smeRoamCallback( void *pContext, tCsrRoamInfo *pRoamInfo, tANI_U3
       case eCSR_ROAM_STA_CHANNEL_SWITCH:
         {
             hdd_adapter_t *pHostapdAdapter = NULL;
             eCsrPhyMode phy_mode = 0;
             pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
             pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);

@@ -4428,6 +4429,24 @@ eHalStatus hdd_smeRoamCallback( void *pContext, tCsrRoamInfo *pRoamInfo, tANI_U3
             pHddStaCtx->conn_info.operationChannel =
                 pRoamInfo->chan_info.chan_id;

             if(pRoamInfo->pProfile) {
                 phy_mode = pRoamInfo->pProfile->phyMode;
             }

             status = hdd_chan_change_notify(pAdapter,
                                             pAdapter->dev,
                                             pRoamInfo->chan_info.chan_id,
                                             phy_mode);

             if(status != VOS_STATUS_SUCCESS) {
                 hddLog(VOS_TRACE_LEVEL_ERROR,
                        "%s: hdd_chan_change_notify failed", __func__);
             }

             hddLog(VOS_TRACE_LEVEL_ERROR,
                    "%s: Channel switch event updated to upper layer to %d",
                    __func__, pRoamInfo->chan_info.chan_id);

             pHostapdAdapter = hdd_get_adapter(pHddCtx, WLAN_HDD_SOFTAP);
             if (pHostapdAdapter &&
                    (test_bit(SOFTAP_BSS_STARTED,
+23 −0
Original line number Diff line number Diff line
@@ -4056,6 +4056,15 @@ REG_VARIABLE( CFG_EXTSCAN_ENABLE, WLAN_PARAM_Integer,
               CFG_ENABLE_SAE_FOR_SAP_MIN,
               CFG_ENABLE_SAE_FOR_SAP_MAX),
#endif

#ifdef FEATURE_WLAN_SW_PTA
  REG_VARIABLE(CFG_SW_PTA_ENABLE_NAME, WLAN_PARAM_Integer,
               hdd_config_t, is_sw_pta_enabled,
               VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
               CFG_SW_PTA_ENABLE_DEFAULT,
               CFG_SW_PTA_ENABLE_MIN,
               CFG_SW_PTA_ENABLE_MAX)
#endif
};

/*
@@ -4295,6 +4304,19 @@ static void hdd_cfg_print_sae_sap(hdd_context_t *hdd_ctx)
}
#endif

#ifdef FEATURE_WLAN_SW_PTA
static void hdd_cfg_print_sw_pta(hdd_context_t* hdd_ctx)
{
   hddLog(LOG2, "Name = [%s] value = [%u]",
          CFG_SW_PTA_ENABLE_NAME,
          hdd_ctx->cfg_ini->is_sw_pta_enabled);
}
#else
static void hdd_cfg_print_sw_pta(hdd_context_t* hdd_ctx)
{
}
#endif

static void print_hdd_cfg(hdd_context_t *pHddCtx)
{
  VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "*********Config values in HDD Adapter*******");
@@ -4757,6 +4779,7 @@ static void print_hdd_cfg(hdd_context_t *pHddCtx)
            pHddCtx->cfg_ini->enabledefaultSAP);
    hdd_cfg_print_sae(pHddCtx);
    hdd_cfg_print_sae_sap(pHddCtx);
    hdd_cfg_print_sw_pta(pHddCtx);
}


+27 −10
Original line number Diff line number Diff line
@@ -12314,6 +12314,7 @@ static int __wlan_hdd_cfg80211_start_ap(struct wiphy *wiphy,
                                             params->auth_type);
    }
    wlan_hdd_cfg80211_register_frames(pAdapter);
    EXIT();
    return status;
}
@@ -12491,6 +12492,7 @@ int __wlan_hdd_cfg80211_change_iface( struct wiphy *wiphy,
    eMib_dot11DesiredBssType connectedBssType;
    VOS_STATUS status;
    long ret;
    bool iff_up = ndev->flags & IFF_UP;
    ENTER();
@@ -12763,13 +12765,21 @@ int __wlan_hdd_cfg80211_change_iface( struct wiphy *wiphy,
                         return -EINVAL;
                    }
                }
		if (iff_up) {
			hddLog(VOS_TRACE_LEVEL_DEBUG,
			       "%s: SAP interface is already up", __func__);
			status = hdd_init_ap_mode(pAdapter, false);
			if(status != VOS_STATUS_SUCCESS)
			{
				hddLog(VOS_TRACE_LEVEL_FATAL,
                           "%s: Error initializing the ap mode", __func__);
				       "%s: Error initializing the ap mode",
				       __func__);
				return -EINVAL;
			}
		} else {
			hddLog(VOS_TRACE_LEVEL_DEBUG,
			       "%s: SAP interface is down", __func__);
		}
                hdd_set_conparam(1);
                status = hdd_sta_id_hash_attach(pAdapter);
@@ -12855,9 +12865,16 @@ int __wlan_hdd_cfg80211_change_iface( struct wiphy *wiphy,
#ifdef FEATURE_WLAN_TDLS
                mutex_unlock(&pHddCtx->tdls_lock);
#endif
		if (iff_up) {
			hddLog(VOS_TRACE_LEVEL_DEBUG,
			       "%s: STA interface is already up", __func__);
			status = hdd_init_station_mode( pAdapter );
			if( VOS_STATUS_SUCCESS != status )
				return -EOPNOTSUPP;
		} else {
			hddLog(VOS_TRACE_LEVEL_DEBUG,
			       "%s: STA interface is down", __func__);
		}
                /* In case of JB, for P2P-GO, only change interface will be called,
                 * This is the right place to enable back bmps_imps()
                 */
Loading