RDMA/cxgb4: Fix race in fini path
authorSteve Wise <swise@opengridcomputing.com>
Fri, 23 Jul 2010 19:12:27 +0000 (19:12 +0000)
committerRoland Dreier <rolandd@cisco.com>
Tue, 3 Aug 2010 04:06:06 +0000 (21:06 -0700)
commit73d6fcad2ac84b6fad326d87dc1dd0b29aabbd34
treec603099ce2df83cf11e311073e13e2b66d8f3f71
parentd37ac31ddc24c1a0beed134278bc074c98812210
RDMA/cxgb4: Fix race in fini path

There exists a race condition where the app disconnects, which
initiates an orderly close (via rdma_fini()), concurrently with an
ingress abort condition, which initiates an abortive close operation.
Since rdma_fini() must be called without IRQs disabled, the fini can
be called after the QP has been transitioned to ERROR.  This is ok,
but we need to protect against qp->ep getting NULLed.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/cxgb4/qp.c