net/mlx5_core: Use the the real irqn in eq->irqn
Instead of storing the msix array index in eq->irqn (vecidx), store the real irq number. Signed-off-by: Achiad Shochat <achiad@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
01c196a2d3
commit
61d0e73e0a
|
@ -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));
|
name, pci_name(dev->pdev));
|
||||||
|
|
||||||
eq->eqn = out.eq_number;
|
eq->eqn = out.eq_number;
|
||||||
eq->irqn = vecidx;
|
eq->irqn = priv->msix_arr[vecidx].vector;
|
||||||
eq->dev = dev;
|
eq->dev = dev;
|
||||||
eq->doorbell = uar->map + MLX5_EQ_DOORBEL_OFFSET;
|
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);
|
priv->irq_info[vecidx].name, eq);
|
||||||
if (err)
|
if (err)
|
||||||
goto err_eq;
|
goto err_eq;
|
||||||
|
@ -421,12 +421,12 @@ int mlx5_destroy_unmap_eq(struct mlx5_core_dev *dev, struct mlx5_eq *eq)
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
mlx5_debug_eq_remove(dev, eq);
|
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);
|
err = mlx5_cmd_destroy_eq(dev, eq->eqn);
|
||||||
if (err)
|
if (err)
|
||||||
mlx5_core_warn(dev, "failed to destroy a previously created eq: eqn %d\n",
|
mlx5_core_warn(dev, "failed to destroy a previously created eq: eqn %d\n",
|
||||||
eq->eqn);
|
eq->eqn);
|
||||||
synchronize_irq(dev->priv.msix_arr[eq->irqn].vector);
|
synchronize_irq(eq->irqn);
|
||||||
mlx5_buf_free(dev, &eq->buf);
|
mlx5_buf_free(dev, &eq->buf);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|
Loading…
Reference in New Issue