Ver Fonte

qcacmn: TWT: Add support for not in range and IE validation fail status code

Add support for TWT AP params not in range and IE validation failed
status code.
Presence of num_additional_twt_params is enough to extract the additional
params sent by the firmware, there is no need for extra status check.

Change-Id: I9fa6afd22aa4de1b2a5b75fa98a00f89768dd8cf
CRs-Fixed: 2890682
Srinivas Girigowda há 4 anos atrás
pai
commit
b29d1e9018
2 ficheiros alterados com 6 adições e 10 exclusões
  1. 6 0
      wmi/inc/wmi_unified_twt_param.h
  2. 0 10
      wmi/src/wmi_unified_twt_tlv.c

+ 6 - 0
wmi/inc/wmi_unified_twt_param.h

@@ -303,6 +303,10 @@ struct wmi_twt_add_dialog_param {
  * WMI_HOST_ADD_TWT_STATUS_DENIED: AP did not accept the request
  * WMI_HOST_ADD_TWT_STATUS_UNKNOWN_ERROR: adding TWT dialog failed with
  *                                 an unknown reason
+ * WMI_HOST_ADD_TWT_STATUS_AP_PARAMS_NOT_IN_RANGE: peer AP wake interval,
+ *                                 duration not in range
+ * WMI_HOST_ADD_TWT_STATUS_AP_IE_VALIDATION_FAILED:
+ *                                 peer AP IE Validation Failed
  */
 enum WMI_HOST_ADD_TWT_STATUS {
 	WMI_HOST_ADD_TWT_STATUS_OK,
@@ -315,6 +319,8 @@ enum WMI_HOST_ADD_TWT_STATUS {
 	WMI_HOST_ADD_TWT_STATUS_NO_RESPONSE,
 	WMI_HOST_ADD_TWT_STATUS_DENIED,
 	WMI_HOST_ADD_TWT_STATUS_UNKNOWN_ERROR,
+	WMI_HOST_ADD_TWT_STATUS_AP_PARAMS_NOT_IN_RANGE,
+	WMI_HOST_ADD_TWT_STATUS_AP_IE_VALIDATION_FAILED
 };
 
 /**

+ 0 - 10
wmi/src/wmi_unified_twt_tlv.c

@@ -534,16 +534,6 @@ static QDF_STATUS extract_twt_add_dialog_comp_additional_parameters
 
 	ev = param_buf->fixed_param;
 
-	/*
-	 * For Alternate values from AP, Firmware sends additional params
-	 * with WMI_HOST_ADD_TWT_STATUS_DENIED
-	 */
-	if (ev->status != WMI_HOST_ADD_TWT_STATUS_OK &&
-	    ev->status != WMI_HOST_ADD_TWT_STATUS_DENIED) {
-		wmi_err("Status of add dialog complete is not success");
-		return QDF_STATUS_E_INVAL;
-	}
-
 	if (idx >= param_buf->num_twt_params) {
 		wmi_err("Invalid idx %d while num_twt_params = %d",
 			 idx, param_buf->num_twt_params);