summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArchana Ramachandran <archanar@codeaurora.org>2016-10-19 16:55:00 -0700
committerqcabuildsw <qcabuildsw@localhost>2016-10-25 13:25:39 -0700
commit249f03867709138db95ee536aafeb24123447f24 (patch)
tree6b7c46a414d6570583371a24057269050a9251fd
parent740580e82d2d4e3cbf025aff36521215ba690330 (diff)
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
-rw-r--r--core/mac/src/pe/lim/lim_p2p.c5
1 files 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);
}
}