| Subject | Re: [PATCH v4 2/3] iommu/tegra-smmu: Rework tegra_smmu_probe_device() | From | Dmitry Osipenko <> | Date | Fri, 2 Oct 2020 17:22:41 +0300 |
| |
02.10.2020 09:08, Nicolin Chen пишет: > static int tegra_smmu_of_xlate(struct device *dev, > struct of_phandle_args *args) > { > + struct platform_device *iommu_pdev = of_find_device_by_node(args->np); > + struct tegra_mc *mc = platform_get_drvdata(iommu_pdev); > u32 id = args->args[0]; > > + of_node_put(args->np); > + > + if (!mc || !mc->smmu) > + return -EPROBE_DEFER;
platform_get_drvdata(NULL) will crash.
> + dev_iommu_priv_set(dev, mc->smmu);
I think put_device(mc->dev) is missed here, doesn't it?
Why sun50i-iommu driver doesn't have this error-checking? Is it really needed at all?
|