VT-d: don't lose errors when flushing TLBs on multiple IOMMUs
authorJan Beulich <jbeulich@suse.com>
Thu, 24 Jun 2021 14:30:06 +0000 (16:30 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 24 Jun 2021 14:30:06 +0000 (16:30 +0200)
commite7059776f9755b989a992d229c68c3d7778412be
treeaf68915a1d42a2a3666219302bf976e3382a9731
parent80589800ae62fce43fd3921e8fbd362465fe5ba3
VT-d: don't lose errors when flushing TLBs on multiple IOMMUs

While no longer an immediate problem with flushes no longer timing out,
errors (if any) get properly reported by iommu_flush_iotlb_{dsi,psi}().
Overwriting such an error with, perhaps, a success indicator received
from another IOMMU will misguide callers. Record the first error, but
don't bail from the loop (such that further necessary invalidation gets
carried out on a best effort basis).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
xen/drivers/passthrough/vtd/iommu.c