aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSelvin Xavier <selvin.xavier@emulex.com>2014-02-04 01:27:05 -0500
committerRoland Dreier <roland@purestorage.com>2014-04-03 11:30:05 -0400
commit1228056bcff2e4029c3d9d5d31cf122eea3a4c6a (patch)
tree78190942c30be071aabf4c34212edc8618d477b4
parentac578aef8b9f6095016a12390f0ff638a3a54988 (diff)
RDMA/ocrdma: Handle CQ overrun error
Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_hw.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
index f1ec9d9a7224..ebcb26079daf 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
@@ -640,7 +640,7 @@ static void ocrdma_dispatch_ibevent(struct ocrdma_dev *dev,
640{ 640{
641 struct ocrdma_qp *qp = NULL; 641 struct ocrdma_qp *qp = NULL;
642 struct ocrdma_cq *cq = NULL; 642 struct ocrdma_cq *cq = NULL;
643 struct ib_event ib_evt; 643 struct ib_event ib_evt = { 0 };
644 int cq_event = 0; 644 int cq_event = 0;
645 int qp_event = 1; 645 int qp_event = 1;
646 int srq_event = 0; 646 int srq_event = 0;
@@ -665,6 +665,8 @@ static void ocrdma_dispatch_ibevent(struct ocrdma_dev *dev,
665 case OCRDMA_CQ_OVERRUN_ERROR: 665 case OCRDMA_CQ_OVERRUN_ERROR:
666 ib_evt.element.cq = &cq->ibcq; 666 ib_evt.element.cq = &cq->ibcq;
667 ib_evt.event = IB_EVENT_CQ_ERR; 667 ib_evt.event = IB_EVENT_CQ_ERR;
668 cq_event = 1;
669 qp_event = 0;
668 break; 670 break;
669 case OCRDMA_CQ_QPCAT_ERROR: 671 case OCRDMA_CQ_QPCAT_ERROR:
670 ib_evt.element.qp = &qp->ibqp; 672 ib_evt.element.qp = &qp->ibqp;
@@ -726,6 +728,7 @@ static void ocrdma_dispatch_ibevent(struct ocrdma_dev *dev,
726 qp->srq->ibsrq. 728 qp->srq->ibsrq.
727 srq_context); 729 srq_context);
728 } else if (dev_event) { 730 } else if (dev_event) {
731 pr_err("%s: Fatal event received\n", dev->ibdev.name);
729 ib_dispatch_event(&ib_evt); 732 ib_dispatch_event(&ib_evt);
730 } 733 }
731 734