| From af6a99c02758f2f1c1935d18333a51416d84fd78 Mon Sep 17 00:00:00 2001 |
| From: Michal Kalderon <michal.kalderon@marvell.com> |
| Date: Sun, 27 Oct 2019 22:04:48 +0200 |
| Subject: [PATCH] RDMA/qedr: Fix srqs xarray initialization |
| |
| commit 73ab512f720298aabe23b34110e3f6a8545b0ba5 upstream. |
| |
| There was a missing initialization for the srqs xarray. |
| SRQs xarray can also be called from irq context when searching |
| for an element and uses the xa_XXX_irq apis, therefore should |
| be initialized with IRQ flags. |
| |
| Fixes: 9fd15987ed27 ("qedr: Convert srqidr to XArray") |
| Link: https://lore.kernel.org/r/20191027200451.28187-2-michal.kalderon@marvell.com |
| Signed-off-by: Ariel Elior <ariel.elior@marvell.com> |
| Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com> |
| Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/infiniband/hw/qedr/main.c b/drivers/infiniband/hw/qedr/main.c |
| index 586c0bd7aa4a..51173d9046a8 100644 |
| --- a/drivers/infiniband/hw/qedr/main.c |
| +++ b/drivers/infiniband/hw/qedr/main.c |
| @@ -354,6 +354,7 @@ static int qedr_alloc_resources(struct qedr_dev *dev) |
| return -ENOMEM; |
| |
| spin_lock_init(&dev->sgid_lock); |
| + xa_init_flags(&dev->srqs, XA_FLAGS_LOCK_IRQ); |
| |
| if (IS_IWARP(dev)) { |
| xa_init_flags(&dev->qps, XA_FLAGS_LOCK_IRQ); |
| -- |
| 2.7.4 |
| |