|
@@ -397,6 +397,11 @@ struct tx_frame {
|
|
|
qdf_timer_t tx_timer;
|
|
|
};
|
|
|
|
|
|
+enum tdls_configured_external_control {
|
|
|
+ TDLS_STRICT_EXTERNAL_CONTROL = 1,
|
|
|
+ TDLS_LIBERAL_EXTERNAL_CONTROL = 2,
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* enum tdls_feature_bit
|
|
|
* @TDLS_FEATURE_OFF_CHANNEL: tdls off channel
|
|
@@ -406,7 +411,8 @@ struct tx_frame {
|
|
|
* @TDLS_FEATURE_SCAN: tdls scan
|
|
|
* @TDLS_FEATURE_ENABLE: tdls enabled
|
|
|
* @TDLS_FEAUTRE_IMPLICIT_TRIGGER: tdls implicit trigger
|
|
|
- * @TDLS_FEATURE_EXTERNAL_CONTROL: tdls external control
|
|
|
+ * @TDLS_FEATURE_EXTERNAL_CONTROL: enforce strict tdls external control
|
|
|
+ * @TDLS_FEATURE_LIBERAL_EXTERNAL_CONTROL: liberal external tdls control
|
|
|
*/
|
|
|
enum tdls_feature_bit {
|
|
|
TDLS_FEATURE_OFF_CHANNEL,
|
|
@@ -416,7 +422,8 @@ enum tdls_feature_bit {
|
|
|
TDLS_FEATURE_SCAN,
|
|
|
TDLS_FEATURE_ENABLE,
|
|
|
TDLS_FEAUTRE_IMPLICIT_TRIGGER,
|
|
|
- TDLS_FEATURE_EXTERNAL_CONTROL
|
|
|
+ TDLS_FEATURE_EXTERNAL_CONTROL,
|
|
|
+ TDLS_FEATURE_LIBERAL_EXTERNAL_CONTROL,
|
|
|
};
|
|
|
|
|
|
#define TDLS_IS_OFF_CHANNEL_ENABLED(flags) \
|
|
@@ -435,6 +442,8 @@ enum tdls_feature_bit {
|
|
|
CHECK_BIT(flags, TDLS_FEAUTRE_IMPLICIT_TRIGGER)
|
|
|
#define TDLS_IS_EXTERNAL_CONTROL_ENABLED(flags) \
|
|
|
CHECK_BIT(flags, TDLS_FEATURE_EXTERNAL_CONTROL)
|
|
|
+#define TDLS_IS_LIBERAL_EXTERNAL_CONTROL_ENABLED(flags) \
|
|
|
+ CHECK_BIT(flags, TDLS_FEATURE_LIBERAL_EXTERNAL_CONTROL)
|
|
|
|
|
|
/**
|
|
|
* struct tdls_user_config - TDLS user configuration
|
|
@@ -495,7 +504,7 @@ struct tdls_user_config {
|
|
|
bool tdls_off_chan_enable;
|
|
|
bool tdls_off_chan_enable_orig;
|
|
|
bool tdls_wmm_mode_enable;
|
|
|
- bool tdls_external_control;
|
|
|
+ uint8_t tdls_external_control;
|
|
|
bool tdls_implicit_trigger_enable;
|
|
|
bool tdls_scan_enable;
|
|
|
bool tdls_sleep_sta_enable;
|