浏览代码

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);