mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-04 18:19:28 +09:00
RDMA/cma: Fix rdma_cm path querying for RoCE
[ Upstream commit89838118a5] The 'if' logic in ucma_query_path was broken with OPA was introduced and started to treat RoCE paths as as OPA paths. Invert the logic of the 'if' so only OPA paths are treated as OPA paths. Otherwise the path records returned to rdma_cma users are mangled when in RoCE mode. Fixes:5752075144("IB/SA: Add OPA path record type") Signed-off-by: Parav Pandit <parav@mellanox.com> Reviewed-by: Mark Bloch <markb@mellanox.com> Signed-off-by: Leon Romanovsky <leon@kernel.org> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
15dfb9baba
commit
cfafed12f4
@@ -914,13 +914,14 @@ static ssize_t ucma_query_path(struct ucma_context *ctx,
|
||||
|
||||
resp->path_data[i].flags = IB_PATH_GMP | IB_PATH_PRIMARY |
|
||||
IB_PATH_BIDIRECTIONAL;
|
||||
if (rec->rec_type == SA_PATH_REC_TYPE_IB) {
|
||||
ib_sa_pack_path(rec, &resp->path_data[i].path_rec);
|
||||
} else {
|
||||
if (rec->rec_type == SA_PATH_REC_TYPE_OPA) {
|
||||
struct sa_path_rec ib;
|
||||
|
||||
sa_convert_path_opa_to_ib(&ib, rec);
|
||||
ib_sa_pack_path(&ib, &resp->path_data[i].path_rec);
|
||||
|
||||
} else {
|
||||
ib_sa_pack_path(rec, &resp->path_data[i].path_rec);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user