2019-06-24 19:48:53

by Weiping Zhang

[permalink] [raw]
Subject: [PATCH v3 4/5] genirq/affinity: allow driver's discontigous affinity set

The driver may implement multiple affinity set, and some of
are empty, for this case we just skip them.

Signed-off-by: Weiping Zhang <[email protected]>
---
kernel/irq/affinity.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c
index f18cd5aa33e8..6d964fe0fbd8 100644
--- a/kernel/irq/affinity.c
+++ b/kernel/irq/affinity.c
@@ -295,6 +295,10 @@ irq_create_affinity_masks(unsigned int nvecs, struct irq_affinity *affd)
unsigned int this_vecs = affd->set_size[i];
int ret;

+ /* skip empty affinity set */
+ if (this_vecs == 0)
+ continue;
+
ret = irq_build_affinity_masks(affd, curvec, this_vecs,
curvec, masks);
if (ret) {
--
2.14.1