[PATCH v6 1/5] iommu: Return -EMEDIUMTYPE for incompatible domain and device/group

Nicolin Chen nicolinc at nvidia.com
Sat Sep 10 16:35:48 PDT 2022


On Thu, Sep 08, 2022 at 09:08:38AM -0300, Jason Gunthorpe wrote:
> On Thu, Sep 08, 2022 at 09:30:57AM +0000, Tian, Kevin wrote:

> > There are also cases where common kAPIs are called in the attach
> > path which may return -EINVAL and random errno, e.g.:
> > 
> > omap_iommu_attach_dev()
> >   omap_iommu_attach()
> >     iommu_enable()
> >       pm_runtime_get_sync()
> >         __pm_runtime_resume()
> >           rpm_resume()
> > 	if (dev->power.runtime_error) {
> > 		retval = -EINVAL;
 
> Yes, this is was also on my mind with choosing an unpopular return
> code, it has a higher chance of not coming out of some other kernel
> API

I wonder if it would be safe to just treat a pm_runtime_get_sync()
failure as -ENODEV, since a PM resume() mostly occurs to the IOMMU
that an IOMMU client/master device is behind, while an iommu_domain
rarely intervenes.



More information about the linux-arm-kernel mailing list