PCI/MSI: Ignore affinity if pre/post vector count is more than min_vecs
authorMichael Hernandez <michael.hernandez@cavium.com>
Thu, 18 May 2017 17:47:47 +0000 (10:47 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 22 May 2017 20:06:05 +0000 (15:06 -0500)
commit6f9a22bc5775d231ab8fbe2c2f3c88e45e3e7c28
tree1c783fb19be43cd07b3a1f7a32af66e64dba2958
parent2ea659a9ef488125eb46da6eb571de5eae5c43f6
PCI/MSI: Ignore affinity if pre/post vector count is more than min_vecs

min_vecs is the minimum amount of vectors needed to operate in MSI-X mode
which may just include the vectors that don't need affinity.

Disabling affinity settings causes the qla2xxx driver scsi_add_host() to fail
when blk_mq is enabled as the blk_mq_pci_map_queues() expects affinity masks
on each vector.

Fixes: dfef358bd1be ("PCI/MSI: Don't apply affinity if there aren't enough vectors left")
Signed-off-by: Michael Hernandez <michael.hernandez@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: stable@vger.kernel.org # v4.10+
drivers/pci/msi.c
include/linux/interrupt.h
kernel/irq/affinity.c