• M
    qed: Fix rdma_info structure allocation · d4105c83
    Michal Kalderon 提交于
    [ Upstream commit 291d57f67d2449737d1e370ab5b9a583818eaa0c ]
    
    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: NMichal Kalderon <michal.kalderon@cavium.com>
    Signed-off-by: NDenis Bolotin <denis.bolotin@cavium.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    d4105c83
qed_dev.c 115.2 KB