소스 검색

qcacld-3.0: Update only positive nss values from BDF

If the FW doesn't send the ext service ready event, and
thus the host does not get the max chainmask that both
the macs can support, the host still updates the ini
with the minimum of the host, and FW config, which can
lead to functional issues in connection, and scan.

Fix is to honour the setting only if the FW sends a non
zero positive chainmask for both macs.

Change-Id: I2a321923a2f995cca20cef3980acb1bf41ca0db0
CRs-Fixed: 2429584
gaurank kathpalia 6 년 전
부모
커밋
23afef1e15
1개의 변경된 파일10개의 추가작업 그리고 0개의 파일을 삭제
  1. 10 0
      core/sme/src/common/sme_api.c

+ 10 - 0
core/sme/src/common/sme_api.c

@@ -4449,7 +4449,12 @@ sme_modify_nss_chains_tgt_cfg(mac_handle_t mac_handle,
 	}
 
 	max_supported_rx_nss = QDF_MIN(ini_rx_nss, max_supported_rx_nss);
+	if (!max_supported_rx_nss)
+		return;
+
 	max_supported_tx_nss = QDF_MIN(ini_tx_nss, max_supported_tx_nss);
+	if (!max_supported_tx_nss)
+		return;
 
 	ini_rx_chains = GET_VDEV_NSS_CHAIN(nss_chains_ini_cfg->
 						num_rx_chains[band],
@@ -4468,8 +4473,13 @@ sme_modify_nss_chains_tgt_cfg(mac_handle_t mac_handle,
 
 	max_supported_rx_chains = QDF_MIN(ini_rx_chains,
 					  max_supported_rx_chains);
+	if (!max_supported_rx_chains)
+		return;
+
 	max_supported_tx_chains = QDF_MIN(ini_tx_chains,
 					  max_supported_tx_chains);
+	if (!max_supported_tx_chains)
+		return;
 
 	sme_modify_chains_in_mlme_cfg(mac_handle, max_supported_rx_chains,
 				      max_supported_tx_chains, vdev_op_mode,