RDMA/ocrdma: Allow only SEND opcode in case of UD QPs
Prevent posting opcodes other than send and send immediate on the UD QPs. Signed-off-by: Mitesh Ahuja <mitesh.ahuja@emulex.Com> Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:

committed by
Roland Dreier

parent
a96ffb1de9
commit
f252b5dc36
@@ -2055,6 +2055,13 @@ int ocrdma_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
while (wr) {
|
while (wr) {
|
||||||
|
if (qp->qp_type == IB_QPT_UD &&
|
||||||
|
(wr->opcode != IB_WR_SEND &&
|
||||||
|
wr->opcode != IB_WR_SEND_WITH_IMM)) {
|
||||||
|
*bad_wr = wr;
|
||||||
|
status = -EINVAL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (ocrdma_hwq_free_cnt(&qp->sq) == 0 ||
|
if (ocrdma_hwq_free_cnt(&qp->sq) == 0 ||
|
||||||
wr->num_sge > qp->sq.max_sges) {
|
wr->num_sge > qp->sq.max_sges) {
|
||||||
*bad_wr = wr;
|
*bad_wr = wr;
|
||||||
|
Reference in New Issue
Block a user