Hi!
I'm sorry to report here, but 4.4 patches were not yet sent to the lists (and it may be worth correcting before release).
+++ b/drivers/pci/msi.c @@ -778,18 +778,25 @@ static int msix_capability_init(struct p
...
pci_read_config_word(dev, dev->msix_cap + PCI_MSIX_FLAGS, &control); /* Request & Map MSI-X table region */ base = msix_map_region(dev, msix_table_size(control));
- if (!base)
return -ENOMEM;
- if (!base) {
ret = -ENOMEM;
goto out_disable;
- }
ret = msix_setup_entries(dev, base, entries, nvec, affd); if (ret)
This one is correct, and so is the version queued for 4.19, but 4.4 version (9da69496e86237e94c4ffa2a5b375a4d2ee7c482) has:
/* Request & Map MSI-X table region */ base = msix_map_region(dev, msix_table_size(control)); - if (!base) + if (!base) { return -ENOMEM; + goto out_disable; + }
ret = msix_setup_entries(dev, base, entries, nvec);
That return is misplaced, it should be ret = -ENOMEM, similar to 4.19 and newer.
Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany