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

Commit de85d2b3 authored by Rob Clark's avatar Rob Clark
Browse files

drm/msm: fix potential null ptr issue in non-iommu case



Fixes: 9cb07b099fb ("drm/msm: support multiple address spaces")
Reported-by: default avatarRiku Voipio <riku.voipio@linaro.org>
Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent c57a94ff
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -345,7 +345,6 @@ int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev,
{
	struct adreno_platform_config *config = pdev->dev.platform_data;
	struct msm_gpu *gpu = &adreno_gpu->base;
	struct msm_mmu *mmu;
	int ret;

	adreno_gpu->funcs = funcs;
@@ -385,8 +384,8 @@ int adreno_gpu_init(struct drm_device *drm, struct platform_device *pdev,
		return ret;
	}

	mmu = gpu->aspace->mmu;
	if (mmu) {
	if (gpu->aspace && gpu->aspace->mmu) {
		struct msm_mmu *mmu = gpu->aspace->mmu;
		ret = mmu->funcs->attach(mmu, iommu_ports,
				ARRAY_SIZE(iommu_ports));
		if (ret)
+2 −0
Original line number Diff line number Diff line
@@ -294,6 +294,8 @@ put_iova(struct drm_gem_object *obj)
	WARN_ON(!mutex_is_locked(&dev->struct_mutex));

	for (id = 0; id < ARRAY_SIZE(msm_obj->domain); id++) {
		if (!priv->aspace[id])
			continue;
		msm_gem_unmap_vma(priv->aspace[id],
				&msm_obj->domain[id], msm_obj->sgt);
	}