|
@@ -2703,6 +2703,10 @@ static void adjust_proxy_tun_qkey(struct mlx4_dev *dev, struct mlx4_vhcr *vhcr,
|
|
|
context->qkey = cpu_to_be32(qkey);
|
|
|
}
|
|
|
|
|
|
+static int adjust_qp_sched_queue(struct mlx4_dev *dev, int slave,
|
|
|
+ struct mlx4_qp_context *qpc,
|
|
|
+ struct mlx4_cmd_mailbox *inbox);
|
|
|
+
|
|
|
int mlx4_RST2INIT_QP_wrapper(struct mlx4_dev *dev, int slave,
|
|
|
struct mlx4_vhcr *vhcr,
|
|
|
struct mlx4_cmd_mailbox *inbox,
|
|
@@ -2725,6 +2729,10 @@ int mlx4_RST2INIT_QP_wrapper(struct mlx4_dev *dev, int slave,
|
|
|
struct res_srq *srq;
|
|
|
int local_qpn = be32_to_cpu(qpc->local_qpn) & 0xffffff;
|
|
|
|
|
|
+ err = adjust_qp_sched_queue(dev, slave, qpc, inbox);
|
|
|
+ if (err)
|
|
|
+ return err;
|
|
|
+
|
|
|
err = qp_res_start_move_to(dev, slave, qpn, RES_QP_HW, &qp, 0);
|
|
|
if (err)
|
|
|
return err;
|