> Make sure we turn off the clock on probe failure and device removal. … > +++ b/drivers/pci/controller/pcie-xilinx-nwl.c … > @@ -817,11 +818,23 @@ static int nwl_pcie_probe(struct platform_device *pdev) > err = nwl_pcie_enable_msi(pcie); > if (err < 0) { > dev_err(dev, "failed to enable MSI support: %d\n", err); > - return err; > + goto err_clk; > } > } > > - return pci_host_probe(bridge); > + err = pci_host_probe(bridge); > + > +err_clk: > + if (err) > + clk_disable_unprepare(pcie->clk); I suggest to use the label “disable_unprepare_clock” directly before this function call (in the if branch) so that a duplicate check would be avoided after some error cases. Regards, Markus