If this is indeed incorrect, I propose adding an integer member to struct rxe_srq to count the number of associated QPs and update the Create QP, Delete QP, and Delete SRQ verbs accordingly.
Here is the IB Spec statement for reference:
o10-10.2.3: If the HCA supports SRQ and the Consumer invokes the Destroy SRQ verb while there are QPs still associated with the SRQ, the CI shall return an Immediate Error.
If this is indeed incorrect, I propose adding an integer member to
struct rxe_srq
to count the number of associated QPs and update the Create QP, Delete QP, and Delete SRQ verbs accordingly.Here is the IB Spec statement for reference: o10-10.2.3: If the HCA supports SRQ and the Consumer invokes the Destroy SRQ verb while there are QPs still associated with the SRQ, the CI shall return an Immediate Error.