net/mlx4: Add A0 hybrid steering
[linux-2.6-block.git] / drivers / infiniband / hw / mlx4 / qp.c
index 506d1bdad227c73a0f80a9cf065c07ec90e2645d..cf000b7ad64f9b11698ee8dbfa2aec9883e886db 100644 (file)
@@ -807,8 +807,10 @@ static int create_qp_common(struct mlx4_ib_dev *dev, struct ib_pd *pd,
                 * VLAN insertion. */
                if (init_attr->qp_type == IB_QPT_RAW_PACKET)
                        err = mlx4_qp_reserve_range(dev->dev, 1, 1, &qpn,
-                                                   init_attr->cap.max_send_wr ?
-                                                   MLX4_RESERVE_ETH_BF_QP : 0);
+                                                   (init_attr->cap.max_send_wr ?
+                                                    MLX4_RESERVE_ETH_BF_QP : 0) |
+                                                   (init_attr->cap.max_recv_wr ?
+                                                    MLX4_RESERVE_A0_QP : 0));
                else
                        if (qp->flags & MLX4_IB_QP_NETIF)
                                err = mlx4_ib_steer_qp_alloc(dev, 1, &qpn);