diff options
author | Joachim Fenkes <fenkes@de.ibm.com> | 2008-07-22 14:18:07 -0700 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-07-22 14:18:07 -0700 |
commit | 5b673b71c8ca0fbdb99dc1b1434cfb554212d6ff (patch) | |
tree | 6ef6d830a63e9fe417f6f05e819e5af56979d422 /drivers/infiniband/hw/ehca/ehca_qp.c | |
parent | d35cb360c29956510b2fe1a953bd4968536f7216 (diff) | |
download | op-kernel-dev-5b673b71c8ca0fbdb99dc1b1434cfb554212d6ff.zip op-kernel-dev-5b673b71c8ca0fbdb99dc1b1434cfb554212d6ff.tar.gz |
IB/ehca: Filter PATH_MIG events if QP was never armed
Certain firmware versions sometimes cause spurious PATH_MIG events to
occur during QP creation. Filter these events by making sure PATH_MIG
events are only handed down when they actually make sense (i.e. when
the QP has been armed at least once).
Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/ehca/ehca_qp.c')
-rw-r--r-- | drivers/infiniband/hw/ehca/ehca_qp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ehca/ehca_qp.c b/drivers/infiniband/hw/ehca/ehca_qp.c index 3f59587..ea13efd 100644 --- a/drivers/infiniband/hw/ehca/ehca_qp.c +++ b/drivers/infiniband/hw/ehca/ehca_qp.c @@ -1460,6 +1460,8 @@ static int internal_modify_qp(struct ib_qp *ibqp, goto modify_qp_exit2; } mqpcb->path_migration_state = attr->path_mig_state + 1; + if (attr->path_mig_state == IB_MIG_REARM) + my_qp->mig_armed = 1; update_mask |= EHCA_BMASK_SET(MQPCB_MASK_PATH_MIGRATION_STATE, 1); } |