• Michal Kalderon's avatar
    qed: Fix rdma_info structure allocation · 291d57f6
    Michal Kalderon authored
    Certain flows need to access the rdma-info structure, for example dcbx
    update flows. In some cases there can be a race between the allocation or
    deallocation of the structure which was done in roce start / roce stop and
    an asynchrounous dcbx event that tries to access the structure.
    For this reason, we move the allocation of the rdma_info structure to be
    similar to the iscsi/fcoe info structures which are allocated during device
    setup.
    We add a new field of "active" to the struct to define whether roce has
    already been started or not, and this is checked instead of whether the
    pointer to the info structure.
    
    Fixes: 51ff1725 ("qed: Add support for RoCE hw init")
    Signed-off-by: default avatarMichal Kalderon <michal.kalderon@cavium.com>
    Signed-off-by: default avatarDenis Bolotin <denis.bolotin@cavium.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    291d57f6
qed_rdma.c 55.8 KB