mirror of https://gitee.com/openkylin/linux.git
net/mlx4_core: Make sure the max number of QPs per MCG isn't exceeded
In B0 steering mode when adding QPs to the default MCG entry need to check that maximal number of QPs per MCG entry was not exceeded. Signed-off-by: Alexander Guller <alexg@mellanox.com> Reviewed-by: Aviad Yehezkel <aviadye@mellanox.co.il> Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com> Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
aab2bb0e29
commit
7590837603
|
@ -477,8 +477,14 @@ static int add_promisc_qp(struct mlx4_dev *dev, u8 port,
|
|||
/* now need to add all the promisc qps to default entry */
|
||||
memset(mgm, 0, sizeof *mgm);
|
||||
members_count = 0;
|
||||
list_for_each_entry(dqp, &s_steer->promisc_qps[steer], list)
|
||||
list_for_each_entry(dqp, &s_steer->promisc_qps[steer], list) {
|
||||
if (members_count == dev->caps.num_qp_per_mgm) {
|
||||
/* entry is full */
|
||||
err = -ENOMEM;
|
||||
goto out_list;
|
||||
}
|
||||
mgm->qp[members_count++] = cpu_to_be32(dqp->qpn & MGM_QPN_MASK);
|
||||
}
|
||||
mgm->members_count = cpu_to_be32(members_count | MLX4_PROT_ETH << 30);
|
||||
|
||||
err = mlx4_WRITE_PROMISC(dev, port, steer, mailbox);
|
||||
|
|
Loading…
Reference in New Issue