Commit 086a3c40 authored by Dan Carpenter's avatar Dan Carpenter Committed by Will Deacon
Browse files

iommu/tegra241-cmdqv: Fix ioremap() error handling in probe()



The ioremap() function doesn't return error pointers, it returns NULL
on error so update the error handling.  Also just return directly
instead of calling iounmap() on the NULL pointer.  Calling
iounmap(NULL) doesn't cause a problem on ARM but on other architectures
it can trigger a warning so it'a bad habbit.

Fixes: 918eb5c8 ("iommu/arm-smmu-v3: Add in-kernel support for NVIDIA Tegra241 (Grace) CMDQV")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: default avatarNicolin Chen <nicolinc@nvidia.com>
Link: https://lore.kernel.org/r/5a6c1e9a-0724-41b1-86d4-36335d3768ea@stanley.mountain


Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent db184a1c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -772,9 +772,9 @@ __tegra241_cmdqv_probe(struct arm_smmu_device *smmu, struct resource *res,
	static_assert(offsetof(struct tegra241_cmdqv, smmu) == 0);

	base = ioremap(res->start, resource_size(res));
	if (IS_ERR(base)) {
		dev_err(smmu->dev, "failed to ioremap: %ld\n", PTR_ERR(base));
		goto iounmap;
	if (!base) {
		dev_err(smmu->dev, "failed to ioremap\n");
		return NULL;
	}

	regval = readl(base + TEGRA241_CMDQV_CONFIG);