|
@@ -1991,6 +1991,13 @@ static int modify_qp(struct ib_uverbs_file *file,
|
|
|
goto release_qp;
|
|
|
}
|
|
|
|
|
|
+ if ((cmd->base.attr_mask & IB_QP_CUR_STATE &&
|
|
|
+ cmd->base.cur_qp_state > IB_QPS_ERR) ||
|
|
|
+ cmd->base.qp_state > IB_QPS_ERR) {
|
|
|
+ ret = -EINVAL;
|
|
|
+ goto release_qp;
|
|
|
+ }
|
|
|
+
|
|
|
attr->qp_state = cmd->base.qp_state;
|
|
|
attr->cur_qp_state = cmd->base.cur_qp_state;
|
|
|
attr->path_mtu = cmd->base.path_mtu;
|