Skip to content

Commit 36ac0db

Browse files
Devesh Sharmadledford
Devesh Sharma
authored andcommitted
RDMA/ocrdma: Dispatch only port event when port state changes
Dispatch only port event to IB stack when port state changes. Don't explicitly modify qps to error. Let application listen to port events on async event queue or let QP fail with retry-exceeded completion error. Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@avagotech.com> Signed-off-by: Devesh Sharma <devesh.sharma@avagotech.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
1 parent c6002d5 commit 36ac0db

File tree

1 file changed

+0
-23
lines changed

1 file changed

+0
-23
lines changed

drivers/infiniband/hw/ocrdma/ocrdma_main.c

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -386,30 +386,7 @@ static int ocrdma_open(struct ocrdma_dev *dev)
386386

387387
static int ocrdma_close(struct ocrdma_dev *dev)
388388
{
389-
int i;
390-
struct ocrdma_qp *qp, **cur_qp;
391389
struct ib_event err_event;
392-
struct ib_qp_attr attrs;
393-
int attr_mask = IB_QP_STATE;
394-
395-
attrs.qp_state = IB_QPS_ERR;
396-
mutex_lock(&dev->dev_lock);
397-
if (dev->qp_tbl) {
398-
cur_qp = dev->qp_tbl;
399-
for (i = 0; i < OCRDMA_MAX_QP; i++) {
400-
qp = cur_qp[i];
401-
if (qp && qp->ibqp.qp_type != IB_QPT_GSI) {
402-
/* change the QP state to ERROR */
403-
_ocrdma_modify_qp(&qp->ibqp, &attrs, attr_mask);
404-
405-
err_event.event = IB_EVENT_QP_FATAL;
406-
err_event.element.qp = &qp->ibqp;
407-
err_event.device = &dev->ibdev;
408-
ib_dispatch_event(&err_event);
409-
}
410-
}
411-
}
412-
mutex_unlock(&dev->dev_lock);
413390

414391
err_event.event = IB_EVENT_PORT_ERR;
415392
err_event.element.port_num = 1;

0 commit comments

Comments
 (0)