qcacld-3.0: Provide correct status code in case of no ack

Currently, LIM_ACK_NOT_RCD is not handled while filling
status code due to which STATUS_UNSPECIFIED_FAILURE is
updated as part of default handling instead of
STATUS_AUTH_NO_ACK_RECEIVED. Don't overwrite previous
status code in case no ack received from peer.

Fix is to Handle LIM_ACK_NOT_RCD case while filling status
code and consider previous status code when no ack received
from peer.

Change-Id: I366d63ee3ff6abf8a36300451e7f0c46fcf47e39
CRs-Fixed: 3151992
Este commit está contenido en:
Sheenam Monga
2022-03-16 11:45:51 +05:30
cometido por Madan Koyyalamudi
padre 7da020bc16
commit 1ac1276b1a
Se han modificado 2 ficheros con 4 adiciones y 3 borrados

Ver fichero

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -68,6 +68,7 @@ static void lim_fill_status_code(uint8_t frame_type,
*proto_status_code = STATUS_AUTH_TX_FAIL;
break;
case LIM_ACK_RCD_FAILURE:
case LIM_ACK_NOT_RCD:
*proto_status_code = STATUS_AUTH_NO_ACK_RECEIVED;
break;
case LIM_ACK_RCD_SUCCESS:
@@ -82,6 +83,7 @@ static void lim_fill_status_code(uint8_t frame_type,
*proto_status_code = STATUS_ASSOC_TX_FAIL;
break;
case LIM_ACK_RCD_FAILURE:
case LIM_ACK_NOT_RCD:
*proto_status_code = STATUS_ASSOC_NO_ACK_RECEIVED;
break;
case LIM_ACK_RCD_SUCCESS:

Ver fichero

@@ -5993,7 +5993,6 @@ static void lim_tx_mgmt_frame(struct mac_context *mac_ctx, uint8_t vdev_id,
qdf_mtrace(QDF_MODULE_ID_PE, QDF_MODULE_ID_WMA, TRACE_CODE_TX_MGMT,
session->peSessionId, 0);
mac_ctx->auth_ack_status = LIM_ACK_NOT_RCD;
min_rid = lim_get_min_session_txrate(session);
if (fc->subType == SIR_MAC_MGMT_AUTH &&
@@ -6148,6 +6147,6 @@ void lim_send_mgmt_frame_tx(struct mac_context *mac_ctx,
lim_handle_sae_auth_retry(mac_ctx, vdev_id,
mb_msg->data, msg_len);
}
mac_ctx->auth_ack_status = LIM_ACK_NOT_RCD;
lim_send_frame(mac_ctx, vdev_id, mb_msg->data, msg_len);
}