IB/ipath: Fix SRQ limit event causing dropped CQ entry
authorRalph Campbell <ralph.campbell@qlogic.com>
Thu, 15 Mar 2007 21:44:49 +0000 (14:44 -0700)
committerRoland Dreier <rolandd@cisco.com>
Thu, 19 Apr 2007 03:20:54 +0000 (20:20 -0700)
A silly programming error causes a CQ entry to not be generated if a
SRQ limit event is generated.

Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ipath/ipath_ruc.c

index e86cb171872e2c9ecc3d0c99e74d3f3a0ce3af93..146db8516997d78d59162cbb0c5e9d352937f536 100644 (file)
@@ -202,6 +202,7 @@ int ipath_get_rwqe(struct ipath_qp *qp, int wr_id_only)
        wq->tail = tail;
 
        ret = 1;
+       qp->r_wrid_valid = 1;
        if (handler) {
                u32 n;
 
@@ -229,7 +230,6 @@ int ipath_get_rwqe(struct ipath_qp *qp, int wr_id_only)
                }
        }
        spin_unlock_irqrestore(&rq->lock, flags);
-       qp->r_wrid_valid = 1;
 
 bail:
        return ret;