Re: [PATCH 4.19 27/38] iommu/exynos: add missing put_device() call in exynos_iommu_of_xlate()

From: Pavel Machek
Date: Tue Oct 13 2020 - 10:14:27 EST


Hi!
> >> From: Yu Kuai <yukuai3@xxxxxxxxxx>
> >>
> >> [ Upstream commit 1a26044954a6d1f4d375d5e62392446af663be7a ]
> >>
> >> if of_find_device_by_node() succeed, exynos_iommu_of_xlate() doesn't have
> >> a corresponding put_device(). Thus add put_device() to fix the exception
> >> handling for this function implementation.
> > Okay, this looks reasonable, but...
> >
> > Do we miss put_device() in normal path, too? I'd expect another
> > put_device at end of exynos_iommu_of_xlate() or perhaps in release
> > path somewhere...
>
> Frankly, there is no release path, so there is no need for put_device.
> Once initialized, Exynos IOMMU stays in the system forever. There is no
> point to remove IOMMU nor the API for that. Keeping increased refcount
> for its device just matches this behavior.
>
> If the missing put_device() is really a problem, then we can move it
> from the error path just after data = platform_get_drvdata(sysmmu)
> assignment. Feel free to send a patch if you think this is a more
> appropriate approach.

exynos_iommu_detach_device() looks like a place where resources could
be freed? But if there's no release path, we don't really need to do anything.

Sorry about the noise.

Best regards,
Pavel
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Attachment: signature.asc
Description: PGP signature