IB/hfi1: Correct defered count after processing qp_wait_list
The qp_wait_list processing leaves the defered ack count
at its prior value.
This can result in a premature send of an ack.
Fixed by unconditionally reseting the defered ack count
in hfi1_send_rc_ack().
Fixes: Commit 7c091e5c06
("staging/rdma/hfi1: add ACK coalescing logic")
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
zero-colors
parent
8d8a473380
commit
4fcf1de5a7
|
@ -853,6 +853,10 @@ void hfi1_send_rc_ack(struct hfi1_ctxtdata *rcd, struct rvt_qp *qp,
|
|||
struct ib_header hdr;
|
||||
struct ib_other_headers *ohdr;
|
||||
unsigned long flags;
|
||||
struct hfi1_qp_priv *priv = qp->priv;
|
||||
|
||||
/* clear the defer count */
|
||||
priv->r_adefered = 0;
|
||||
|
||||
/* Don't send ACK or NAK if a RDMA read or atomic is pending. */
|
||||
if (qp->s_flags & RVT_S_RESP_PENDING)
|
||||
|
|
Loading…
Reference in New Issue