From: Achiad Shochat <ach...@mellanox.com>

Instead of storing the msix array index in eq->irqn (vecidx),
store the real irq number.

Signed-off-by: Achiad Shochat <ach...@mellanox.com>
Signed-off-by: Saeed Mahameed <sae...@mellanox.com>
Signed-off-by: Or Gerlitz <ogerl...@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/eq.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eq.c 
b/drivers/net/ethernet/mellanox/mlx5/core/eq.c
index 1f01fe8..713ead5 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/eq.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/eq.c
@@ -382,10 +382,10 @@ int mlx5_create_map_eq(struct mlx5_core_dev *dev, struct 
mlx5_eq *eq, u8 vecidx,
                 name, pci_name(dev->pdev));
 
        eq->eqn = out.eq_number;
-       eq->irqn = vecidx;
+       eq->irqn = priv->msix_arr[vecidx].vector;
        eq->dev = dev;
        eq->doorbell = uar->map + MLX5_EQ_DOORBEL_OFFSET;
-       err = request_irq(priv->msix_arr[vecidx].vector, mlx5_msix_handler, 0,
+       err = request_irq(eq->irqn, mlx5_msix_handler, 0,
                          priv->irq_info[vecidx].name, eq);
        if (err)
                goto err_eq;
@@ -421,12 +421,12 @@ int mlx5_destroy_unmap_eq(struct mlx5_core_dev *dev, 
struct mlx5_eq *eq)
        int err;
 
        mlx5_debug_eq_remove(dev, eq);
-       free_irq(dev->priv.msix_arr[eq->irqn].vector, eq);
+       free_irq(eq->irqn, eq);
        err = mlx5_cmd_destroy_eq(dev, eq->eqn);
        if (err)
                mlx5_core_warn(dev, "failed to destroy a previously created eq: 
eqn %d\n",
                               eq->eqn);
-       synchronize_irq(dev->priv.msix_arr[eq->irqn].vector);
+       synchronize_irq(eq->irqn);
        mlx5_buf_free(dev, &eq->buf);
 
        return err;
-- 
2.3.7

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to