소스 검색

qcacmn: SMMU fault as iova to phy address is invalid

IPA pipes are not disconnected successfully when the last
client disconnects and despite that smmu mappings given
to IPA for the buffers are released.
Assert instead of releasing the smmu buffer mappings as
IPA has stalled and is in a non-recoverable state.

Change-Id: I9a9a35a4019726421d7435b62defe8da4907d4e0
CRs-Fixed: 2627889
Nisha Menon 5 년 전
부모
커밋
af7af90906
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      dp/wifi3.0/dp_ipa.c

+ 4 - 1
dp/wifi3.0/dp_ipa.c

@@ -1652,10 +1652,13 @@ QDF_STATUS dp_ipa_disable_pipes(struct cdp_soc_t *soc_hdl, uint8_t pdev_id)
 	}
 
 	result = qdf_ipa_wdi_disable_pipes();
-	if (result)
+	if (result) {
 		QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
 			  "%s: Disable WDI PIPE fail, code %d",
 			  __func__, result);
+		qdf_assert_always(0);
+		return QDF_STATUS_E_FAILURE;
+	}
 
 	qdf_atomic_set(&soc->ipa_pipes_enabled, 0);
 	dp_ipa_handle_rx_buf_pool_smmu_mapping(soc, pdev, false);