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

Commit 243172a6 authored by Abhishek Ambure's avatar Abhishek Ambure Committed by snandini
Browse files

qcacld-3.0: Update proper mgmt tx complete status in host

FW updates the mgmt tx packet status to host using tx complete event,
enum WMI_MGMT_TX_COMP_STATUS_TYPE. Presently host checks for enum
WMI_MGMT_TX_COMP_TYPE_COMPLETE_OK as mgmt tx success and for rest all
status enums treats as NO_ACK. As FW can drop mgmt frames and updates
host with WMI_MGMT_TX_COMP_TYPE_DISCARD or WMI_MGMT_TX_COMP_TYPE_INSPECT
which is not equivalent to NO_ACK.
Hence update proper value of mgmt tx complete status in host from the mgmt
tx complete event.

Change-Id: Id507a85c4b4dec407eae0626488b92e4db5eb5ec
CRs-Fixed: 2827138
parent 495de231
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -1758,11 +1758,16 @@ static QDF_STATUS lim_assoc_tx_complete_cnf(void *context,
		assoc_ack_status = ACKED;
		reason_code = QDF_STATUS_SUCCESS;
		mac_ctx->assoc_ack_status = LIM_ACK_RCD_SUCCESS;
	} else {
	} else if (tx_complete == WMI_MGMT_TX_COMP_TYPE_COMPLETE_NO_ACK) {
		assoc_ack_status = NOT_ACKED;
		reason_code = QDF_STATUS_E_FAILURE;
		mac_ctx->assoc_ack_status = LIM_ACK_RCD_FAILURE;
	} else {
		assoc_ack_status = SENT_FAIL;
		reason_code = QDF_STATUS_E_FAILURE;
		mac_ctx->assoc_ack_status = LIM_TX_FAILED;
	}

	if (buf)
		qdf_nbuf_free(buf);

@@ -2612,10 +2617,14 @@ static QDF_STATUS lim_auth_tx_complete_cnf(void *context,
		if (!sae_auth_acked)
			lim_deactivate_and_change_timer(mac_ctx,
							eLIM_AUTH_RETRY_TIMER);
	} else {
	} else if (tx_complete == WMI_MGMT_TX_COMP_TYPE_COMPLETE_NO_ACK) {
		mac_ctx->auth_ack_status = LIM_ACK_RCD_FAILURE;
		auth_ack_status = NOT_ACKED;
		reason_code = QDF_STATUS_E_FAILURE;
	} else {
		mac_ctx->auth_ack_status = LIM_TX_FAILED;
		auth_ack_status = SENT_FAIL;
		reason_code = QDF_STATUS_E_FAILURE;
	}

	if (buf)