Message ID | 20220620112015.1600380-2-dmitry.baryshkov@linaro.org |
---|---|
State | New |
Headers | show |
Series | PCI: dwc: Fix higher MSI vectors handling | expand |
On Mon, Jun 20, 2022 at 02:20:09PM +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@kernel.org> > Reviewed-by: Johan Hovold <johan+linaro@kernel.org> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Tested-by: Johan Hovold <johan+linaro@kernel.org>
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);