]> git.baikalelectronics.ru Git - kernel.git/commit
qed: Fix rdma_info structure allocation
authorMichal Kalderon <michal.kalderon@cavium.com>
Mon, 12 Nov 2018 10:50:22 +0000 (12:50 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Nov 2018 16:51:16 +0000 (08:51 -0800)
commitd9f014467abd615a6f9c9a4882e2493503bfae1e
treeca7a5979f6526559b0c2d09d1cf9d89dfeb33f3c
parentf726c891f3c97311bab1dd1ffc65515f0b3bcf81
qed: Fix rdma_info structure allocation

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: 917e79de7fa7 ("qed: Add support for RoCE hw init")
Signed-off-by: Michal Kalderon <michal.kalderon@cavium.com>
Signed-off-by: Denis Bolotin <denis.bolotin@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qed/qed_dev.c
drivers/net/ethernet/qlogic/qed/qed_rdma.c
drivers/net/ethernet/qlogic/qed/qed_rdma.h