aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband
diff options
context:
space:
mode:
authorSteve Wise <swise@opengridcomputing.com>2010-09-10 12:15:04 -0400
committerRoland Dreier <rolandd@cisco.com>2010-09-28 13:46:31 -0400
commit6ff0e343b3356897cef1f09452f93acb13703911 (patch)
tree70d98e2e7011c30164b836b2685816177af34f4a /drivers/infiniband
parent7459486133dc726ff2edf0957d9cb5c954aedbc7 (diff)
RDMA/cxgb4: Ignore TERMINATE CQEs
T4 incorrectly inserts TERM CQEs into the CQ. Silently ignore them. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r--drivers/infiniband/hw/cxgb4/cq.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/cxgb4/cq.c b/drivers/infiniband/hw/cxgb4/cq.c
index af684fca4a82..70371e92f2a5 100644
--- a/drivers/infiniband/hw/cxgb4/cq.c
+++ b/drivers/infiniband/hw/cxgb4/cq.c
@@ -476,6 +476,11 @@ static int poll_cq(struct t4_wq *wq, struct t4_cq *cq, struct t4_cqe *cqe,
476 goto proc_cqe; 476 goto proc_cqe;
477 } 477 }
478 478
479 if (CQE_OPCODE(hw_cqe) == FW_RI_TERMINATE) {
480 ret = -EAGAIN;
481 goto skip_cqe;
482 }
483
479 /* 484 /*
480 * RECV completion. 485 * RECV completion.
481 */ 486 */
@@ -696,6 +701,7 @@ static int c4iw_poll_cq_one(struct c4iw_cq *chp, struct ib_wc *wc)
696 case T4_ERR_MSN_RANGE: 701 case T4_ERR_MSN_RANGE:
697 case T4_ERR_IRD_OVERFLOW: 702 case T4_ERR_IRD_OVERFLOW:
698 case T4_ERR_OPCODE: 703 case T4_ERR_OPCODE:
704 case T4_ERR_INTERNAL_ERR:
699 wc->status = IB_WC_FATAL_ERR; 705 wc->status = IB_WC_FATAL_ERR;
700 break; 706 break;
701 case T4_ERR_SWFLUSH: 707 case T4_ERR_SWFLUSH: