Skip to content

Commit ed254bb

Browse files
committed
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fix from Thomas Gleixner: "A small fix for the affinity spreading code. It failed to handle situations where a single vector was requested either due to only one CPU being available or vector exhaustion causing only a single interrupt to be granted. The fix is to simply remove the requirement in the affinity spreading code for more than one interrupt being available" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq/affinity: Create affinity mask for single vector
2 parents 6054f4e + 491beed commit ed254bb

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

kernel/irq/affinity.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -251,11 +251,9 @@ irq_create_affinity_masks(unsigned int nvecs, struct irq_affinity *affd)
251251
* Determine the number of vectors which need interrupt affinities
252252
* assigned. If the pre/post request exhausts the available vectors
253253
* then nothing to do here except for invoking the calc_sets()
254-
* callback so the device driver can adjust to the situation. If there
255-
* is only a single vector, then managing the queue is pointless as
256-
* well.
254+
* callback so the device driver can adjust to the situation.
257255
*/
258-
if (nvecs > 1 && nvecs > affd->pre_vectors + affd->post_vectors)
256+
if (nvecs > affd->pre_vectors + affd->post_vectors)
259257
affvecs = nvecs - affd->pre_vectors - affd->post_vectors;
260258
else
261259
affvecs = 0;

0 commit comments

Comments
 (0)