summaryrefslogtreecommitdiff
path: root/kernel/irq/affinity.c
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2022-05-11 20:22:22 +0200
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>2022-05-11 20:22:22 +0200
commitb7c15a3ce6fea5da3aa836c897a78ac628467d54 (patch)
tree0e941036165a7d6261e77a756693f5d0b13bbbe4 /kernel/irq/affinity.c
parentef3a6b70507a2add2cd2e01f5eb9b54d561bacb9 (diff)
parentc5eb0a61238dd6faf37f58c9ce61c9980aaffd7a (diff)
Merge remote-tracking branch 'drm/drm-fixes' into drm-misc-fixes
Requested by Zack for vmwgfx fixes. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Diffstat (limited to 'kernel/irq/affinity.c')
-rw-r--r--kernel/irq/affinity.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c
index f7ff8919dc9b..fdf170404650 100644
--- a/kernel/irq/affinity.c
+++ b/kernel/irq/affinity.c
@@ -269,8 +269,9 @@ static int __irq_build_affinity_masks(unsigned int startvec,
*/
if (numvecs <= nodes) {
for_each_node_mask(n, nodemsk) {
- cpumask_or(&masks[curvec].mask, &masks[curvec].mask,
- node_to_cpumask[n]);
+ /* Ensure that only CPUs which are in both masks are set */
+ cpumask_and(nmsk, cpu_mask, node_to_cpumask[n]);
+ cpumask_or(&masks[curvec].mask, &masks[curvec].mask, nmsk);
if (++curvec == last_affv)
curvec = firstvec;
}