On Mon, May 23, 2022 at 09:18:30PM +0300, Dmitry Baryshkov wrote: > The subdrivers pass -ESOMETHING if they do not want the core to touch > MSI IRQ. dw_pcie_host_init() also checks if (msi_irq > 0) rather than > just if (msi_irq). So let's make dw_pcie_free_msi() also check that > msi_irq is greater than zero. > > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > --- > drivers/pci/controller/dwc/pcie-designware-host.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c > index 9979302532b7..af91fe69f542 100644 > --- a/drivers/pci/controller/dwc/pcie-designware-host.c > +++ b/drivers/pci/controller/dwc/pcie-designware-host.c > @@ -257,7 +257,7 @@ int dw_pcie_allocate_domains(struct pcie_port *pp) > > static void dw_pcie_free_msi(struct pcie_port *pp) > { > - if (pp->msi_irq) > + if (pp->msi_irq > 0) > irq_set_chained_handler_and_data(pp->msi_irq, NULL, NULL); > > irq_domain_remove(pp->msi_domain); Looks good. Reviewed-by: Johan Hovold <johan+linaro@xxxxxxxxxx>