Messages in this thread | | | Date | Fri, 2 Jun 2023 18:06:49 +0800 | Subject | Re: [PATCH v2 1/2] iommu/vt-d: Handle the failure case of dmar_reenable_qi() | From | Yanfei Xu <> |
| |
On 6/2/2023 5:27 PM, Robin Murphy wrote: > On 2023-06-02 03:05, Yanfei Xu wrote: >> dmar_reenable_qi() may not succeed. Check and return when it fails. >> >> Signed-off-by: Yanfei Xu <yanfei.xu@intel.com> >> --- >> drivers/iommu/intel/iommu.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c >> index 8096273b034c..e9188d045609 100644 >> --- a/drivers/iommu/intel/iommu.c >> +++ b/drivers/iommu/intel/iommu.c >> @@ -2967,10 +2967,14 @@ static int init_iommu_hw(void) >> { >> struct dmar_drhd_unit *drhd; >> struct intel_iommu *iommu = NULL; >> + int ret; >> - for_each_active_iommu(iommu, drhd) >> + for_each_active_iommu(iommu, drhd) { >> if (iommu->qi) >> - dmar_reenable_qi(iommu); >> + ret = dmar_reenable_qi(iommu); >> + if (ret) > > Nit: either this should be inside the previous condition, or you need > to initialise ret to 0. > Oh, you are right. Will correct it.
Thanks, Yanfei
> Thanks, > Robin. > >> + return ret; >> + } >> for_each_iommu(iommu, drhd) { >> if (drhd->ignored) {
| |