On Mon, Dec 12, 2022 at 07:35:14AM -0300, Danilo Cezar Zanella wrote: > There is a driver developed by EmbeddedTS (the board is Marvell > armada-385, dual core processor) that tries to allocate 32 MSI > interrupts, using pci_alloc_irq_vectors(..,32,32,...). When I ran the > Kernel (4.14 NON RT) provided by them, it worked fine, but when I > recompiled the kernel (4.19.249 using the RT_FULL options), it didn't, > returning -ENOSPC. Does the kernel 'provided by them' carry additional patches for your board? > In RT_FULL Kernel: > - First fact, when I ran pci_msi_vec_count, it returned 32. > - Second, if I changed to 16, calling > pci_alloc_irq_vectors(..,16,16,...), it worked. > I traced this kernel and I found that: > pci_alloc_irq_vectors_affinity > __pci_enable_msi_range > msi_capability_init > pci_msi_setup_msi_irqs > msi_domain_alloc_irqs > __irq_domain_alloc_irqs > irq_domain_alloc_descs > Then I stopped here... > > I searched on the Internet, but I couldn't find anything. > Has someone had a similar problem? > Is there something that I missed? Some configuration?? Vendor kernels usually ship changes which are not ported to upstream and hence upstream kernels might not work or work differently. Daniel