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

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.com


Reviewed-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
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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];
	}
	}
+1 −1
Original line number Original line Diff line number Diff line
@@ -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;
		}
		}
	}
	}