diff options
author | Selvin Xavier <selvin.xavier@emulex.com> | 2014-02-04 01:27:05 -0500 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2014-04-03 11:30:05 -0400 |
commit | 1228056bcff2e4029c3d9d5d31cf122eea3a4c6a (patch) | |
tree | 78190942c30be071aabf4c34212edc8618d477b4 | |
parent | ac578aef8b9f6095016a12390f0ff638a3a54988 (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.c | 5 |
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 | ||