]> git.baikalelectronics.ru Git - kernel.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)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 8 Aug 2019 06:47:55 +0000 (08:47 +0200)
commit614cf9fc831666986aba2bc00d8582367b0581d8
tree6eaa12d68f258d58af024028649e7f244ce9cdcd
parenta5529d035b5a7af074563991fc652444ff9e40ad
genirq/affinity: Create affinity mask for single vector

Since commit 9ca66d4fa71bc9 ("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: 9ca66d4fa71bc9 ("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
kernel/irq/affinity.c