Commit 04cee82e authored by Nicolin Chen's avatar Nicolin Chen Committed by Jason Gunthorpe

iommu: Propagate return value in ->attach_dev callback functions

The mtk_iommu and virtio drivers have places in the ->attach_dev callback
functions that return hardcode errnos instead of the returned values, but
callers of these ->attach_dv callback functions may care. Propagate them
directly without the extra conversions.

Link: https://lore.kernel.org/r/ca8c5a447b87002334f83325f28823008b4ce420.1666042873.git.nicolinc@nvidia.comReviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
Reviewed-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Reviewed-by: default avatarYong Wu <yong.wu@mediatek.com>
Signed-off-by: default avatarNicolin Chen <nicolinc@nvidia.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
parent f4a14773
...@@ -668,7 +668,7 @@ static int mtk_iommu_attach_device(struct iommu_domain *domain, ...@@ -668,7 +668,7 @@ static int mtk_iommu_attach_device(struct iommu_domain *domain,
ret = mtk_iommu_domain_finalise(dom, frstdata, region_id); ret = mtk_iommu_domain_finalise(dom, frstdata, region_id);
if (ret) { if (ret) {
mutex_unlock(&dom->mutex); mutex_unlock(&dom->mutex);
return -ENODEV; return ret;
} }
dom->bank = &data->bank[bankid]; dom->bank = &data->bank[bankid];
} }
......
...@@ -697,7 +697,7 @@ static int viommu_domain_finalise(struct viommu_endpoint *vdev, ...@@ -697,7 +697,7 @@ static int viommu_domain_finalise(struct viommu_endpoint *vdev,
if (ret) { if (ret) {
ida_free(&viommu->domain_ids, vdomain->id); ida_free(&viommu->domain_ids, vdomain->id);
vdomain->viommu = NULL; vdomain->viommu = NULL;
return -EOPNOTSUPP; return ret;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment