From: Christophe JAILLET <christophe.jail...@wanadoo.fr>

[ Upstream commit 3adfb572f2978a980b250a9e1a56f84f3a031001 ]

If alloc_msi_entry() fails, we free resources and set ret = -ENOMEM.

However, msix_setup_entries() returns 0 unconditionally.  Return the error
code instead.

Fixes: e75eafb9b039 ("genirq/msi: Switch to new irq spreading infrastructure")
Signed-off-by: Christophe JAILLET <christophe.jail...@wanadoo.fr>
Signed-off-by: Bjorn Helgaas <bhelg...@google.com>
Signed-off-by: Sasha Levin <alexander.le...@verizon.com>
---
 drivers/pci/msi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
index 3455f752d5e4..0e9a9dbeb184 100644
--- a/drivers/pci/msi.c
+++ b/drivers/pci/msi.c
@@ -730,7 +730,7 @@ static int msix_setup_entries(struct pci_dev *dev, void 
__iomem *base,
        ret = 0;
 out:
        kfree(masks);
-       return 0;
+       return ret;
 }
 
 static void msix_program_entries(struct pci_dev *dev,
-- 
2.11.0

Reply via email to