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:

committed by
snandini

parent
9eb807b939
commit
8df27eacb6
@@ -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);
|
||||
|
@@ -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) {
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user