浏览代码

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
Archana Ramachandran 8 年之前
父节点
当前提交
249f038677
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. 3 2
      core/mac/src/pe/lim/lim_p2p.c

+ 3 - 2
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);
 		}
 	}