On 01/03/2019 05:03, Jisheng Zhang wrote: > We should check msi_irq before calling irq_set_chained_handler() and > irq_set_handler_data(). > > Signed-off-by: Jisheng Zhang <Jisheng.Zhang@xxxxxxxxxxxxx> > --- > drivers/pci/controller/dwc/pcie-designware-host.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c > index 0c18ab63811f..a94d3530b694 100644 > --- a/drivers/pci/controller/dwc/pcie-designware-host.c > +++ b/drivers/pci/controller/dwc/pcie-designware-host.c > @@ -298,8 +298,10 @@ int dw_pcie_allocate_domains(struct pcie_port *pp) > > void dw_pcie_free_msi(struct pcie_port *pp) > { > - irq_set_chained_handler(pp->msi_irq, NULL); > - irq_set_handler_data(pp->msi_irq, NULL); > + if (pp->msi_irq) { > + irq_set_chained_handler(pp->msi_irq, NULL); > + irq_set_handler_data(pp->msi_irq, NULL); > + } > > irq_domain_remove(pp->msi_domain); > irq_domain_remove(pp->irq_domain); > Sounds good. Acked-by: Gustavo Pimentel <gustavo.pimentel@xxxxxxxxxxxx>