aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorGal Pressman <galpress@amazon.com>2021-08-11 18:11:28 +0300
committerJason Gunthorpe <jgg@nvidia.com>2021-08-20 15:27:47 -0300
commitdbe986bdfd6dfe6ef24b833767fff4151e024357 (patch)
treea3523e7cbb4bffe5d25e1caca38ff8e0c550a536 /drivers/infiniband
parentRDMA/rxe: Fix memory allocation while in a spin lock (diff)
downloadlinux-dev-dbe986bdfd6dfe6ef24b833767fff4151e024357.tar.xz
linux-dev-dbe986bdfd6dfe6ef24b833767fff4151e024357.zip
RDMA/efa: Free IRQ vectors on error flow
Make sure to free the IRQ vectors in case the allocation doesn't return the expected number of IRQs. Fixes: b7f5e880f377 ("RDMA/efa: Add the efa module") Link: https://lore.kernel.org/r/20210811151131.39138-2-galpress@amazon.com Reviewed-by: Firas JahJah <firasj@amazon.com> Reviewed-by: Yossi Leybovich <sleybo@amazon.com> Signed-off-by: Gal Pressman <galpress@amazon.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/hw/efa/efa_main.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/efa/efa_main.c b/drivers/infiniband/hw/efa/efa_main.c
index 203e6ddcacbc..be4a07bd268a 100644
--- a/drivers/infiniband/hw/efa/efa_main.c
+++ b/drivers/infiniband/hw/efa/efa_main.c
@@ -357,6 +357,7 @@ static int efa_enable_msix(struct efa_dev *dev)
}
if (irq_num != msix_vecs) {
+ efa_disable_msix(dev);
dev_err(&dev->pdev->dev,
"Allocated %d MSI-X (out of %d requested)\n",
irq_num, msix_vecs);