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
This commit is contained in:
Коммит
ed254bb54f
|
@ -251,11 +251,9 @@ irq_create_affinity_masks(unsigned int nvecs, struct irq_affinity *affd)
|
|||
* Determine the number of vectors which need interrupt affinities
|
||||
* assigned. If the pre/post request exhausts the available vectors
|
||||
* then nothing to do here except for invoking the calc_sets()
|
||||
* callback so the device driver can adjust to the situation. If there
|
||||
* is only a single vector, then managing the queue is pointless as
|
||||
* well.
|
||||
* callback so the device driver can adjust to the situation.
|
||||
*/
|
||||
if (nvecs > 1 && nvecs > affd->pre_vectors + affd->post_vectors)
|
||||
if (nvecs > affd->pre_vectors + affd->post_vectors)
|
||||
affvecs = nvecs - affd->pre_vectors - affd->post_vectors;
|
||||
else
|
||||
affvecs = 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче