mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'pci/msi' into next
* pci/msi: PCI/MSI: Ignore affinity if pre/post vector count is more than min_vecs
This commit is contained in:
commit
6a1c1d553e
3 changed files with 16 additions and 15 deletions
|
|
@ -1058,7 +1058,7 @@ static int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
|
|||
|
||||
for (;;) {
|
||||
if (affd) {
|
||||
nvec = irq_calc_affinity_vectors(nvec, affd);
|
||||
nvec = irq_calc_affinity_vectors(minvec, nvec, affd);
|
||||
if (nvec < minvec)
|
||||
return -ENOSPC;
|
||||
}
|
||||
|
|
@ -1097,7 +1097,7 @@ static int __pci_enable_msix_range(struct pci_dev *dev,
|
|||
|
||||
for (;;) {
|
||||
if (affd) {
|
||||
nvec = irq_calc_affinity_vectors(nvec, affd);
|
||||
nvec = irq_calc_affinity_vectors(minvec, nvec, affd);
|
||||
if (nvec < minvec)
|
||||
return -ENOSPC;
|
||||
}
|
||||
|
|
@ -1165,16 +1165,6 @@ int pci_alloc_irq_vectors_affinity(struct pci_dev *dev, unsigned int min_vecs,
|
|||
if (flags & PCI_IRQ_AFFINITY) {
|
||||
if (!affd)
|
||||
affd = &msi_default_affd;
|
||||
|
||||
if (affd->pre_vectors + affd->post_vectors > min_vecs)
|
||||
return -EINVAL;
|
||||
|
||||
/*
|
||||
* If there aren't any vectors left after applying the pre/post
|
||||
* vectors don't bother with assigning affinity.
|
||||
*/
|
||||
if (affd->pre_vectors + affd->post_vectors == min_vecs)
|
||||
affd = NULL;
|
||||
} else {
|
||||
if (WARN_ON(affd))
|
||||
affd = NULL;
|
||||
|
|
|
|||
Loading…
Reference in a new issue