Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55ba49cb authored by oulijun's avatar oulijun Committed by Jason Gunthorpe
Browse files

RDMA/hns: Move the location for initializing tmp_len



When posted work request, it need to compute the length of
all sges of every wr and fill it into the msg_len field of
send wqe. Thus, While posting multiple wr,
tmp_len should be reinitialized to zero.

Fixes: 8b9b8d14 ("RDMA/hns: Fix the endian problem for hns")
Signed-off-by: default avatarLijun Ou <oulijun@huawei.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 05d6a4dd
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -142,8 +142,8 @@ static int hns_roce_v2_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,
	unsigned long flags;
	unsigned int ind;
	void *wqe = NULL;
	u32 tmp_len = 0;
	bool loopback;
	u32 tmp_len;
	int ret = 0;
	u8 *smac;
	int nreq;
@@ -189,6 +189,7 @@ static int hns_roce_v2_post_send(struct ib_qp *ibqp, struct ib_send_wr *wr,

		owner_bit =
		       ~(((qp->sq.head + nreq) >> ilog2(qp->sq.wqe_cnt)) & 0x1);
		tmp_len = 0;

		/* Corresponding to the QP type, wqe process separately */
		if (ibqp->qp_type == IB_QPT_GSI) {