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