On Wed, Dec 06, 2023 at 04:37:52PM +0800, Jianjun Wang wrote: > Use 'dmam_alloc_coherent' to allocate the MSI address, instead of using > 'virt_to_phys'. s/'dmam_alloc_coherent'/dmam_alloc_coherent()/ s/'virt_to_phys'/virt_to_phys()/ In subject also. > @@ -732,8 +740,11 @@ static int mtk_pcie_startup_port_v2(struct mtk_pcie_port *port) > val &= ~INTX_MASK; > writel(val, port->base + PCIE_INT_MASK); > > - if (IS_ENABLED(CONFIG_PCI_MSI)) > - mtk_pcie_enable_msi(port); > + if (IS_ENABLED(CONFIG_PCI_MSI)) { > + err = mtk_pcie_enable_msi(port); > + if (err) > + return err; Is failure to enable MSI a fatal issue? It looks like this will make the host controller completely unusable if we can't set up MSI, even if downstream PCI devices could use INTx and get along without MSI. Bjorn