Hi, Bjorn On Mon, 17 Mar 2025 at 09:14, Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> wrote: > > The commit bcb81ac6ae3c ("iommu: Get DT/ACPI parsing into the proper > probe path") fixed the iommu_probe_device() flow to correctly initialize > firmware operations, allowing arm_smmu_probe_device() to be invoked > earlier. This changes the invocation timing of arm_smmu_probe_device > from the final fixup phase to the header fixup phase. > > pci_iov_add_virtfn > pci_device_add > pci_fixup_device(pci_fixup_header) <-- > device_add > bus_notify > iommu_bus_notifier > + iommu_probe_device > + arm_smmu_probe_device > pci_bus_add_device > pci_fixup_device(pci_fixup_final) <-- > device_attach > driver_probe_device > really_probe > pci_dma_configure > acpi_dma_configure_id > - iommu_probe_device > - arm_smmu_probe_device > > This is the pci_iov_add_virtfn(). The non-SR-IOV case is similar in > that pci_device_add() is called from pci_scan_single_device() in the > generic enumeration path, and pci_bus_add_device() is called later, > after all a host bridge has been enumerated. > > Declare the fixup as pci_fixup_header to ensure the configuration > happens before arm_smmu_probe_device. > > Fixes: bcb81ac6ae3c ("iommu: Get DT/ACPI parsing into the proper probe path") > Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> > Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> > --- As the commit bcb81ac6ae3c ("iommu: Get DT/ACPI parsing into the proper probe path") already merged in 6.15-rc1, would you mind taking this patch for rc? Now 6.15-rc1 can not work without this patch. Thanks