IB/core: Don't resolve passive side RoCE L2 address in CMA REQ handler
authorMoni Shoua <monis@mellanox.com>
Thu, 27 Mar 2014 08:52:58 +0000 (10:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 6 May 2014 14:59:28 +0000 (07:59 -0700)
commit5daac1bcbb85cbf03e7e7d3cafeeb31977d82113
treea4da75b86f30ec480091d79796b5b5286e489702
parent9fedb513ae782fbe1e315afa269eb6a661e40942
IB/core: Don't resolve passive side RoCE L2 address in CMA REQ handler

commit b2853fd6c2d0f383dbdf7427e263eb576a633867 upstream.

The code that resolves the passive side source MAC within the rdma_cm
connection request handler was both redundant and buggy, so remove it.

It was redundant since later, when an RC QP is modified to RTR state,
the resolution will take place in the ib_core module.  It was buggy
because this callback also deals with UD SIDR exchange, for which we
incorrectly looked at the REQ member of the CM event and dereferenced
a random value.

Fixes: dd5f03beb4f7 ("IB/core: Ethernet L2 attributes in verbs/cm structures")
Signed-off-by: Moni Shoua <monis@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/infiniband/core/cm.c
drivers/infiniband/core/cma.c
include/rdma/ib_cm.h