mirror of https://gitee.com/openkylin/linux.git
RDMA/core: Fail early if unsupported QP is provided
When requested QP type is not supported for a {device, port}, return the error right away before validating all parameters during mad agent registration time. Signed-off-by: Parav Pandit <parav@mellanox.com> Reviewed-by: Daniel Jurgens <danielj@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
2c910cb75e
commit
798bba01b4
|
@ -220,6 +220,10 @@ struct ib_mad_agent *ib_register_mad_agent(struct ib_device *device,
|
|||
int ret2, qpn;
|
||||
u8 mgmt_class, vclass;
|
||||
|
||||
if ((qp_type == IB_QPT_SMI && !rdma_cap_ib_smi(device, port_num)) ||
|
||||
(qp_type == IB_QPT_GSI && !rdma_cap_ib_cm(device, port_num)))
|
||||
return ERR_PTR(-EPROTONOSUPPORT);
|
||||
|
||||
/* Validate parameters */
|
||||
qpn = get_spl_qp_index(qp_type);
|
||||
if (qpn == -1) {
|
||||
|
|
Loading…
Reference in New Issue