]> www.infradead.org Git - users/dwmw2/linux.git/commit
genirq/affinity: Create affinity mask for single vector
authorMing Lei <ming.lei@redhat.com>
Mon, 5 Aug 2019 01:19:06 +0000 (09:19 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Aug 2019 08:10:56 +0000 (10:10 +0200)
commitbb3db40acb4cb29e9c2389581edf73a52d9e8973
tree1b6b417342483f2e725e11ee3a20b7f75e57cab6
parent42fc595675ec5c8e9e7db197bdd6c661bdc4fa05
genirq/affinity: Create affinity mask for single vector

commit 491beed3b102b6e6c0e7734200661242226e3933 upstream.

Since commit c66d4bd110a1f8 ("genirq/affinity: Add new callback for
(re)calculating interrupt sets"), irq_create_affinity_masks() returns
NULL in case of single vector. This change has caused regression on some
drivers, such as lpfc.

The problem is that single vector requests can happen in some generic cases:

  1) kdump kernel

  2) irq vectors resource is close to exhaustion.

If in that situation the affinity mask for a single vector is not created,
every caller has to handle the special case.

There is no reason why the mask cannot be created, so remove the check for
a single vector and create the mask.

Fixes: c66d4bd110a1f8 ("genirq/affinity: Add new callback for (re)calculating interrupt sets")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20190805011906.5020-1-ming.lei@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kernel/irq/affinity.c