IPoIB/cm: Initialize RX before moving QP to RTR
authorMichael S. Tsirkin <mst@dev.mellanox.co.il>
Tue, 19 Jun 2007 10:40:41 +0000 (13:40 +0300)
committerRoland Dreier <rolandd@cisco.com>
Thu, 21 Jun 2007 20:03:50 +0000 (13:03 -0700)
commit3ec7393a6858a1716e74aa81be6af76fd180021d
tree2f797894f98a1321605dbcf2610c6349bd92003a
parent24bce5080306bd5255cbda3d6b09a29d5515b470
IPoIB/cm: Initialize RX before moving QP to RTR

Fix a crasher bug in IPoIB CM: once a QP is in the RTR state, a
receive completion (or even an asynchronous error) might be observed
on this QP, so we have to initialize all of our receive data
structures before moving to the RTR state.

As an optimization (since modify_qp might take a long time), the
jiffies update done when moving RX to the passive_ids list is also
left in place to reduce the chance of the RX being misdetected as
stale.

This fixes bug <https://bugs.openfabrics.org/show_bug.cgi?id=662>.

Signed-off-by: Michael S. Tsirkin <mst@dev.mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/ulp/ipoib/ipoib_cm.c