lkml.org 
[lkml]   [2018]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 36/54] net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

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

    [ Upstream commit bd85fbc2038a1bbe84990b23ff69b6fc81a32b2c ]

    When re-registering a user mr, the mpt information for the
    existing mr when running SRIOV is obtained via the QUERY_MPT
    fw command. The returned information includes the mpt's lkey.

    This retrieved mpt information is used to move the mpt back
    to hardware ownership in the rereg flow (via the SW2HW_MPT
    fw command when running SRIOV).

    The fw API spec states that for SW2HW_MPT, the lkey field
    must be zero. Any ConnectX-3 PF driver which checks for strict spec
    adherence will return failure for SW2HW_MPT if the lkey field is not
    zero (although the fw in practice ignores this field for SW2HW_MPT).

    Thus, in order to conform to the fw API spec, set the lkey field to zero
    before invoking SW2HW_MPT when running SRIOV.

    Fixes: e630664c8383 ("mlx4_core: Add helper functions to support MR re-registration")
    Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
    Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/mellanox/mlx4/mr.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/drivers/net/ethernet/mellanox/mlx4/mr.c b/drivers/net/ethernet/mellanox/mlx4/mr.c
    index b7cdef0aebd6..47c2f7c5703d 100644
    --- a/drivers/net/ethernet/mellanox/mlx4/mr.c
    +++ b/drivers/net/ethernet/mellanox/mlx4/mr.c
    @@ -372,6 +372,7 @@ int mlx4_mr_hw_write_mpt(struct mlx4_dev *dev, struct mlx4_mr *mmr,
    container_of((void *)mpt_entry, struct mlx4_cmd_mailbox,
    buf);

    + (*mpt_entry)->lkey = 0;
    err = mlx4_SW2HW_MPT(dev, mailbox, key);
    }

    --
    2.19.1


    \
     
     \ /
      Last update: 2018-12-11 17:24    [W:2.922 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site