Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 722d3da7 authored by Srinivas Girigowda's avatar Srinivas Girigowda
Browse files

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
parent 57beef40
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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
Original line number Diff line number Diff line
@@ -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);