Re: [PATCH v2 2/3] iommu/tegra-smmu: Rework .probe_device and .attach_dev

From: Dmitry Osipenko
Date: Wed Sep 30 2020 - 01:48:59 EST


30.09.2020 08:39, Nicolin Chen пишет:
> On Wed, Sep 30, 2020 at 08:24:02AM +0300, Dmitry Osipenko wrote:
>> 30.09.2020 03:30, Nicolin Chen пишет:
>>> + /*
>>> + * IOMMU core allows -ENODEV return to carry on. So bypass any call
>>> + * from bus_set_iommu() during tegra_smmu_probe(), as a device will
>>> + * call in again via of_iommu_configure when fwspec is prepared.
>>> + */
>>> + if (!mc->smmu || !fwspec || fwspec->ops != &tegra_smmu_ops)
>>> return ERR_PTR(-ENODEV);
>>
>> The !mc->smmu can't be true.
>
> Are you sure? I have removed the "mc->smmu = smmu" in probe() with
> this change. So the only time "mc->smmu == !NULL" is after probe()
> of SMMU driver is returned. As my comments says, tegra_smmu_probe()
> calls in this function via bus_set_iommu(), so mc->smmu can be NULL
> in this case.
>

I missed that.