Hi Niklas, really just a nit... On Wed, 2022-11-09 at 15:28 +0100, Niklas Schnelle wrote: > diff --git a/drivers/iommu/s390-iommu.c b/drivers/iommu/s390-iommu.c > index 7fb512bece9a..e2c886bc4376 100644 > --- a/drivers/iommu/s390-iommu.c > +++ b/drivers/iommu/s390-iommu.c > @@ -98,6 +98,7 @@ static int s390_iommu_attach_device(struct iommu_domain *domain, > struct s390_domain *s390_domain = to_s390_domain(domain); > struct zpci_dev *zdev = to_zpci_dev(dev); > unsigned long flags; > + u8 status; > int cc; > > if (!zdev) > @@ -113,8 +114,12 @@ static int s390_iommu_attach_device(struct iommu_domain *domain, > zpci_dma_exit_device(zdev); > > cc = zpci_register_ioat(zdev, 0, zdev->start_dma, zdev->end_dma, > - virt_to_phys(s390_domain->dma_table)); > - if (cc) > + virt_to_phys(s390_domain->dma_table), &status); > + /* > + * If the device is undergoing error recovery the reset code > + * will re-establish the new domain. > + */ > + if (cc && status != ZPCI_PCI_ST_FUNC_NOT_AVAIL) Operator precedence does "the right thing", but would a more explicit parenthesis around (status != ZPCI_PCI_ST_FUNC_NOT_AVAIL) help or hurt here? > return -EIO; > zdev->dma_table = s390_domain->dma_table; Thank you, Gerd