On Mon, Feb 20 2023 at 18:29, Marc Zyngier wrote: > diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c > index 783a3e6a0b10..13d96495e6d0 100644 > --- a/kernel/irq/msi.c > +++ b/kernel/irq/msi.c > @@ -1084,10 +1084,13 @@ int msi_domain_populate_irqs(struct irq_domain *domain, struct device *dev, > struct xarray *xa; > int ret, virq; > > - if (!msi_ctrl_valid(dev, &ctrl)) > - return -EINVAL; > - > msi_lock_descs(dev); > + > + if (!msi_ctrl_valid(dev, &ctrl)) { > + ret = -EINVAL; > + goto unlock; > + } > + > ret = msi_domain_add_simple_msi_descs(dev, &ctrl); > if (ret) > goto unlock; Yup, you beat me by a minute :)