ソースを参照

qcacld-3.0: Send disassoc frame if primary channel is punctured

If primary channel is punctured, set assoc_cnf.resultCode as
eSIR_SME_INVALID_ASSOC_RSP_RXED, set assoc_cnf.protStatusCode as
STATUS_UNSPECIFIED_FAILURE and send disassoc frame.

Otherwise sme layer still considers it as a valid connection.

Change-Id: Ia36ddfba66febd4c9ddcc5e06cd6acd5f27a93bb
CRs-Fixed: 3224968
Bing Sun 2 年 前
コミット
d9ba91f99f
1 ファイル変更8 行追加1 行削除
  1. 8 1
      core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

+ 8 - 1
core/mac/src/pe/lim/lim_process_assoc_rsp_frame.c

@@ -1407,8 +1407,15 @@ lim_process_assoc_rsp_frame(struct mac_context *mac_ctx, uint8_t *rx_pkt_info,
 	if (QDF_IS_STATUS_ERROR(lim_update_sta_vdev_punc(
 					mac_ctx->psoc,
 					session_entry->smeSessionId,
-					assoc_rsp)))
+					assoc_rsp))) {
+		assoc_cnf.resultCode = eSIR_SME_INVALID_ASSOC_RSP_RXED;
+		assoc_cnf.protStatusCode = STATUS_UNSPECIFIED_FAILURE;
+		/* Send advisory Disassociation frame to AP */
+		lim_send_disassoc_mgmt_frame(mac_ctx,
+					     REASON_UNSPEC_FAILURE,
+					     hdr->sa, session_entry, false);
 		goto assocReject;
+	}
 
 	/*
 	 * Extract the AP capabilities from the beacon that