qcacld-3.0: Enable feature bits in get_supported_features()

This is a qcacld-2.0 to qcacld-3.0 propagation.

Enable feature bits WIFI_FEATURE_CONTROL_ROAMING,
WIFI_FEATURE_IE_WHITELIST and WIFI_FEATURE_SCAN_RAND.

Change-Id: Ia0f136e038e7da040faae04eaa11bcf56bb72443
CRs-Fixed: 1102187
This commit is contained in:
Srinivas Girigowda
2017-01-06 12:42:16 -08:00
committed by snandini
parent 9eb807b939
commit 8df27eacb6
3 changed files with 55 additions and 0 deletions

View File

@@ -1941,6 +1941,52 @@ bool hdd_is_5g_supported(hdd_context_t *pHddCtx);
int wlan_hdd_scan_abort(hdd_adapter_t *pAdapter);
#ifdef FEATURE_WLAN_LFR
static inline bool hdd_driver_roaming_supported(hdd_context_t *hdd_ctx)
{
return hdd_ctx->cfg_ini->isFastRoamIniFeatureEnabled;
}
#else
static inline bool hdd_driver_roaming_supported(hdd_context_t *hdd_ctx)
{
return false;
}
#endif
#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
static inline bool hdd_firmware_roaming_supported(hdd_context_t *hdd_ctx)
{
return hdd_ctx->cfg_ini->isRoamOffloadScanEnabled;
}
#else
static inline bool hdd_firmware_roaming_supported(hdd_context_t *hdd_ctx)
{
return false;
}
#endif
static inline bool hdd_roaming_supported(hdd_context_t *hdd_ctx)
{
bool val;
val = hdd_driver_roaming_supported(hdd_ctx) ||
hdd_firmware_roaming_supported(hdd_ctx);
return val;
}
#ifdef CFG80211_SCAN_RANDOM_MAC_ADDR
static inline bool hdd_scan_random_mac_addr_supported(void)
{
return true;
}
#else
static inline bool hdd_scan_random_mac_addr_supported(void)
{
return false;
}
#endif
void hdd_get_fw_version(hdd_context_t *hdd_ctx,
uint32_t *major_spid, uint32_t *minor_spid,
uint32_t *siid, uint32_t *crmid);

View File

@@ -2693,6 +2693,12 @@ __wlan_hdd_cfg80211_get_supported_features(struct wiphy *wiphy,
if (hdd_link_layer_stats_supported())
fset |= WIFI_FEATURE_LINK_LAYER_STATS;
if (hdd_roaming_supported(pHddCtx))
fset |= WIFI_FEATURE_CONTROL_ROAMING;
if (hdd_scan_random_mac_addr_supported())
fset |= WIFI_FEATURE_SCAN_RAND;
skb = cfg80211_vendor_cmd_alloc_reply_skb(wiphy, sizeof(fset) +
NLMSG_HDRLEN);
if (!skb) {

View File

@@ -169,6 +169,9 @@ typedef enum {
#define WIFI_FEATURE_MKEEP_ALIVE 0x100000 /* WiFi mkeep_alive */
#define WIFI_FEATURE_CONFIG_NDO 0x200000 /* ND offload configure */
#define WIFI_FEATURE_TX_TRANSMIT_POWER 0x400000 /* Tx transmit power levels */
#define WIFI_FEATURE_CONTROL_ROAMING 0x800000 /* Enable/Disable roaming */
#define WIFI_FEATURE_IE_WHITELIST 0x1000000 /* Support Probe IE white listing */
#define WIFI_FEATURE_SCAN_RAND 0x2000000 /* Support MAC & Probe Sequence Number randomization */
/* Support Tx Power Limit setting */
#define WIFI_FEATURE_SET_TX_POWER_LIMIT 0x4000000