Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c295d45a authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "icnss: Validate IOVA space range only for bengal"

parents faf7a348 75753220
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -2204,6 +2204,7 @@ int icnss_smmu_map(struct device *dev,
{
	struct icnss_priv *priv = dev_get_drvdata(dev);
	unsigned long iova;
	int prop_len = 0;
	size_t len;
	int ret = 0;

@@ -2222,7 +2223,8 @@ int icnss_smmu_map(struct device *dev,
	len = roundup(size + paddr - rounddown(paddr, PAGE_SIZE), PAGE_SIZE);
	iova = roundup(penv->smmu_iova_ipa_current, PAGE_SIZE);

	if (iova >= priv->smmu_iova_ipa_start + priv->smmu_iova_ipa_len) {
	if (of_get_property(dev->of_node, "qcom,iommu-geometry", &prop_len) &&
	    iova >= priv->smmu_iova_ipa_start + priv->smmu_iova_ipa_len) {
		icnss_pr_err("No IOVA space to map, iova %lx, smmu_iova_ipa_start %pad, smmu_iova_ipa_len %zu\n",
			     iova,
			     &priv->smmu_iova_ipa_start,