ibcore: 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. Linux commit: 798bba01b44b0ddf8cd6e542635b37cc9a9b739c MFC after: 1 week Reviewed by: kib Sponsored by: Mellanox Technologies // NVIDIA Networking
This commit is contained in:
parent
e2ae502d28
commit
507389a35a
@ -219,6 +219,10 @@ struct ib_mad_agent *ib_register_mad_agent(struct ib_device *device,
|
|||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
u8 mgmt_class, vclass;
|
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 */
|
/* Validate parameters */
|
||||||
qpn = get_spl_qp_index(qp_type);
|
qpn = get_spl_qp_index(qp_type);
|
||||||
if (qpn == -1) {
|
if (qpn == -1) {
|
||||||
|
Loading…
Reference in New Issue
Block a user