\r
switch (qp_type) {\r
case IB_QPT_RELIABLE_CONN:\r
- *qp_attr_mask_p |= /* required flags */\r
- IB_QP_SQ_PSN |IB_QP_MAX_QP_RD_ATOMIC | IB_QP_TIMEOUT |\r
- IB_QP_RETRY_CNT |IB_QP_RNR_RETRY;\r
+ if (qp_p->state != IBQPS_RTS)\r
+ *qp_attr_mask_p |= /* required flags */\r
+ IB_QP_SQ_PSN |IB_QP_MAX_QP_RD_ATOMIC | IB_QP_TIMEOUT |\r
+ IB_QP_RETRY_CNT |IB_QP_RNR_RETRY;\r
\r
// IB_QP_MAX_QP_RD_ATOMIC\r
qp_attr_p->max_rd_atomic = modify_attr_p->state.rts.init_depth;\r
break;\r
\r
case IB_QPT_UNRELIABLE_CONN:\r
- *qp_attr_mask_p |= /* required flags */\r
- IB_QP_SQ_PSN;\r
+ if (qp_p->state != IBQPS_RTS)\r
+ *qp_attr_mask_p |= /* required flags */\r
+ IB_QP_SQ_PSN;\r
\r
// IB_QP_MAX_DEST_RD_ATOMIC: Update the responder resources for RDMA/ATOMIC (optional for SQD->RTS)\r
if (modify_attr_p->state.rts.opts & IB_MOD_QP_RESP_RES) {\r
case IB_QPT_QP0:\r
case IB_QPT_QP1:\r
default: \r
- *qp_attr_mask_p |= /* required flags */\r
- IB_QP_SQ_PSN;\r
+ if (qp_p->state != IBQPS_RTS)\r
+ *qp_attr_mask_p |= /* required flags */\r
+ IB_QP_SQ_PSN;\r
\r
// IB_QP_QKEY\r
if (modify_attr_p->state.rts.opts & IB_MOD_QP_QKEY) {\r