|
@@ -15960,6 +15960,19 @@ static void wlan_hdd_cfg80211_set_bigtk_flags(struct wiphy *wiphy)
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+#if defined(CFG80211_OCV_CONFIGURATION_SUPPORT) || \
|
|
|
+ (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 9, 0))
|
|
|
+static void wlan_hdd_cfg80211_set_ocv_flags(struct wiphy *wiphy)
|
|
|
+{
|
|
|
+ wiphy_ext_feature_set(wiphy,
|
|
|
+ NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION);
|
|
|
+}
|
|
|
+#else
|
|
|
+static void wlan_hdd_cfg80211_set_ocv_flags(struct wiphy *wiphy)
|
|
|
+{
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
#if defined(CFG80211_SCAN_OCE_CAPABILITY_SUPPORT) || \
|
|
|
(LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
|
|
static void wlan_hdd_cfg80211_set_wiphy_oce_scan_flags(struct wiphy *wiphy)
|
|
@@ -16611,6 +16624,7 @@ void wlan_hdd_update_wiphy(struct hdd_context *hdd_ctx)
|
|
|
struct wiphy *wiphy = hdd_ctx->wiphy;
|
|
|
uint8_t allow_mcc_go_diff_bi = 0, enable_mcc = 0;
|
|
|
bool is_bigtk_supported;
|
|
|
+ bool is_ocv_supported;
|
|
|
|
|
|
if (!wiphy) {
|
|
|
hdd_err("Invalid wiphy");
|
|
@@ -16642,6 +16656,11 @@ void wlan_hdd_update_wiphy(struct hdd_context *hdd_ctx)
|
|
|
if (QDF_IS_STATUS_SUCCESS(status) && is_bigtk_supported)
|
|
|
wlan_hdd_cfg80211_set_bigtk_flags(wiphy);
|
|
|
|
|
|
+ status = ucfg_mlme_get_ocv_support(hdd_ctx->psoc,
|
|
|
+ &is_ocv_supported);
|
|
|
+ if (QDF_IS_STATUS_SUCCESS(status) && is_ocv_supported)
|
|
|
+ wlan_hdd_cfg80211_set_ocv_flags(wiphy);
|
|
|
+
|
|
|
status = ucfg_mlme_get_oce_sta_enabled_info(hdd_ctx->psoc,
|
|
|
&is_oce_sta_enabled);
|
|
|
if (QDF_IS_STATUS_ERROR(status))
|