lkml.org 
[lkml]   [2017]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.12 25/52] net/mlx5: Fix arm SRQ command for ISSI version 0
    Date
    4.12-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Noa Osherovich <noaos@mellanox.com>


    [ Upstream commit 672d0880b7798a917bcc622308f25a0fbb991dab ]

    Support for ISSI version 0 was recently broken as the arm_srq_cmd
    command, which is used only for ISSI version 0, was given the opcode
    for ISSI version 1 instead of ISSI version 0.

    Change arm_srq_cmd to use the correct command opcode for ISSI version
    0.

    Fixes: af1ba291c5e4 ('{net, IB}/mlx5: Refactor internal SRQ API')
    Signed-off-by: Noa Osherovich <noaos@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/net/ethernet/mellanox/mlx5/core/srq.c | 12 ++++++------
    1 file changed, 6 insertions(+), 6 deletions(-)

    --- a/drivers/net/ethernet/mellanox/mlx5/core/srq.c
    +++ b/drivers/net/ethernet/mellanox/mlx5/core/srq.c
    @@ -201,13 +201,13 @@ static int destroy_srq_cmd(struct mlx5_c
    static int arm_srq_cmd(struct mlx5_core_dev *dev, struct mlx5_core_srq *srq,
    u16 lwm, int is_srq)
    {
    - /* arm_srq structs missing using identical xrc ones */
    - u32 srq_in[MLX5_ST_SZ_DW(arm_xrc_srq_in)] = {0};
    - u32 srq_out[MLX5_ST_SZ_DW(arm_xrc_srq_out)] = {0};
    + u32 srq_in[MLX5_ST_SZ_DW(arm_rq_in)] = {0};
    + u32 srq_out[MLX5_ST_SZ_DW(arm_rq_out)] = {0};

    - MLX5_SET(arm_xrc_srq_in, srq_in, opcode, MLX5_CMD_OP_ARM_XRC_SRQ);
    - MLX5_SET(arm_xrc_srq_in, srq_in, xrc_srqn, srq->srqn);
    - MLX5_SET(arm_xrc_srq_in, srq_in, lwm, lwm);
    + MLX5_SET(arm_rq_in, srq_in, opcode, MLX5_CMD_OP_ARM_RQ);
    + MLX5_SET(arm_rq_in, srq_in, op_mod, MLX5_ARM_RQ_IN_OP_MOD_SRQ);
    + MLX5_SET(arm_rq_in, srq_in, srq_number, srq->srqn);
    + MLX5_SET(arm_rq_in, srq_in, lwm, lwm);

    return mlx5_cmd_exec(dev, srq_in, sizeof(srq_in),
    srq_out, sizeof(srq_out));

    \
     
     \ /
      Last update: 2017-09-18 11:45    [W:4.060 / U:0.304 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site