Signed-off-by: Andrew Boyer <andrew.boyer@dell.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
                                          struct rxe_pkt_info *pkt)
 {
        enum resp_states rc;
+       u32 prev_psn = (qp->resp.psn - 1) & BTH_PSN_MASK;
 
        if (pkt->mask & RXE_SEND_MASK ||
            pkt->mask & RXE_WRITE_MASK) {
                /* SEND. Ack again and cleanup. C9-105. */
                if (bth_ack(pkt))
-                       send_ack(qp, pkt, AETH_ACK_UNLIMITED, qp->resp.psn - 1);
+                       send_ack(qp, pkt, AETH_ACK_UNLIMITED, prev_psn);
                rc = RESPST_CLEANUP;
                goto out;
        } else if (pkt->mask & RXE_READ_MASK) {