From 249f03867709138db95ee536aafeb24123447f24 Mon Sep 17 00:00:00 2001 From: Archana Ramachandran Date: Wed, 19 Oct 2016 16:55:00 -0700 Subject: [PATCH] qcacld-3.0: Report correct TX ack status to supplicant Host driver reports TX ACK status as success when FW sends failure status. Due to this supplicant is not retrying the P2P confirmation frame resulting in Go Negotiation failure. P2P negotiation state machine can be messed up for other negotiation action frames as well. Change-Id: I9a22bd542aea32c7cbac11107fe8b6c9785a2ac1 CRs-Fixed: 1079970 --- core/mac/src/pe/lim/lim_p2p.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/mac/src/pe/lim/lim_p2p.c b/core/mac/src/pe/lim/lim_p2p.c index 8c2318b5292c..41098542cfc7 100644 --- a/core/mac/src/pe/lim/lim_p2p.c +++ b/core/mac/src/pe/lim/lim_p2p.c @@ -407,10 +407,11 @@ void lim_send_sme_mgmt_frame_ind(tpAniSirGlobal pMac, uint8_t frameType, return; } -QDF_STATUS lim_p2p_action_cnf(tpAniSirGlobal pMac, uint32_t txCompleteSuccess) +QDF_STATUS lim_p2p_action_cnf(tpAniSirGlobal pMac, uint32_t tx_status) { QDF_STATUS status; uint32_t mgmt_frame_sessionId; + bool tx_complete_ack = (tx_status) ? false : true; status = pe_acquire_global_lock(&pMac->lim); if (QDF_IS_STATUS_SUCCESS(status)) { @@ -429,7 +430,7 @@ QDF_STATUS lim_p2p_action_cnf(tpAniSirGlobal pMac, uint32_t txCompleteSuccess) mgmt_frame_sessionId); if (pMac->p2p_ack_ind_cb) pMac->p2p_ack_ind_cb(mgmt_frame_sessionId, - txCompleteSuccess); + tx_complete_ack); } }