Commit 5ad250f1 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'irq_urgent_for_v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fix from Borislav Petkov:

 - Remove an over-zealous sanity check of the array of MSI-X vectors to
   be allocated for a device

* tag 'irq_urgent_for_v6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  PCI/MSI: Remove over-zealous hardware size check in pci_msix_validate_entries()
parents 97249f05 e3c026be
...@@ -750,8 +750,7 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries, ...@@ -750,8 +750,7 @@ static int msix_capability_init(struct pci_dev *dev, struct msix_entry *entries,
return ret; return ret;
} }
static bool pci_msix_validate_entries(struct pci_dev *dev, struct msix_entry *entries, static bool pci_msix_validate_entries(struct pci_dev *dev, struct msix_entry *entries, int nvec)
int nvec, int hwsize)
{ {
bool nogap; bool nogap;
int i, j; int i, j;
...@@ -762,10 +761,6 @@ static bool pci_msix_validate_entries(struct pci_dev *dev, struct msix_entry *en ...@@ -762,10 +761,6 @@ static bool pci_msix_validate_entries(struct pci_dev *dev, struct msix_entry *en
nogap = pci_msi_domain_supports(dev, MSI_FLAG_MSIX_CONTIGUOUS, DENY_LEGACY); nogap = pci_msi_domain_supports(dev, MSI_FLAG_MSIX_CONTIGUOUS, DENY_LEGACY);
for (i = 0; i < nvec; i++) { for (i = 0; i < nvec; i++) {
/* Entry within hardware limit? */
if (entries[i].entry >= hwsize)
return false;
/* Check for duplicate entries */ /* Check for duplicate entries */
for (j = i + 1; j < nvec; j++) { for (j = i + 1; j < nvec; j++) {
if (entries[i].entry == entries[j].entry) if (entries[i].entry == entries[j].entry)
...@@ -805,7 +800,7 @@ int __pci_enable_msix_range(struct pci_dev *dev, struct msix_entry *entries, int ...@@ -805,7 +800,7 @@ int __pci_enable_msix_range(struct pci_dev *dev, struct msix_entry *entries, int
if (hwsize < 0) if (hwsize < 0)
return hwsize; return hwsize;
if (!pci_msix_validate_entries(dev, entries, nvec, hwsize)) if (!pci_msix_validate_entries(dev, entries, nvec))
return -EINVAL; return -EINVAL;
if (hwsize < nvec) { if (hwsize < nvec) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment