PCI MSI issue for maxcpus=1

From: John Garry
Date: Wed Jan 05 2022 - 06:24:03 EST


Hi Marc,

Just a heads up, I noticed that commit 4c457e8cb75e ("genirq/msi: Activate Multi-MSI early when MSI_FLAG_ACTIVATE_EARLY is set") is causing an issue on our arm64 D06 board where the SAS driver probe fails for maxcpus=1.

This seems different to issue [0].

So it's the driver call to pci_alloc_irq_vectors_affinity() which errors [1]:

[ 9.619070] hisi_sas_v3_hw: probe of 0000:74:02.0 failed with error -2

Some details:
- device supports 32 MSI
- min and max msi for that function is 17 and 32, respect.
- affd pre and post are 16 and 0, respect.

I haven't checked to see what the issue is yet and I think that the pci_alloc_irq_vectors_affinity() usage is ok...

[0] https://lore.kernel.org/lkml/ea730f9b-c635-317d-c70d-4057590b1d1a@xxxxxxxxxx/
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c?h=v5.11#n2388

Cheers,
John