diff options
Diffstat (limited to 'net/smc')
-rw-r--r-- | net/smc/smc_cdc.c | 5 | ||||
-rw-r--r-- | net/smc/smc_tx.c | 3 |
2 files changed, 4 insertions, 4 deletions
diff --git a/net/smc/smc_cdc.c b/net/smc/smc_cdc.c index a712c9f8699b..99d9d6e85dfb 100644 --- a/net/smc/smc_cdc.c +++ b/net/smc/smc_cdc.c @@ -105,8 +105,10 @@ int smc_cdc_msg_send(struct smc_connection *conn, &conn->local_tx_ctrl, conn); smc_curs_copy(&cfed, &((struct smc_host_cdc_msg *)wr_buf)->cons, conn); rc = smc_wr_tx_send(link, (struct smc_wr_tx_pend_priv *)pend); - if (!rc) + if (!rc) { smc_curs_copy(&conn->rx_curs_confirmed, &cfed, conn); + conn->local_rx_ctrl.prod_flags.cons_curs_upd_req = 0; + } return rc; } @@ -194,6 +196,7 @@ int smcd_cdc_msg_send(struct smc_connection *conn) if (rc) return rc; smc_curs_copy(&conn->rx_curs_confirmed, &curs, conn); + conn->local_rx_ctrl.prod_flags.cons_curs_upd_req = 0; /* Calculate transmitted data and increment free send buffer space */ diff = smc_curs_diff(conn->sndbuf_desc->len, &conn->tx_curs_fin, &conn->tx_curs_sent); diff --git a/net/smc/smc_tx.c b/net/smc/smc_tx.c index f93f3580c100..ce9586bce364 100644 --- a/net/smc/smc_tx.c +++ b/net/smc/smc_tx.c @@ -610,9 +610,6 @@ void smc_tx_consumer_update(struct smc_connection *conn, bool force) SMC_TX_WORK_DELAY); return; } - smc_curs_copy(&conn->rx_curs_confirmed, - &conn->local_tx_ctrl.cons, conn); - conn->local_rx_ctrl.prod_flags.cons_curs_upd_req = 0; } if (conn->local_rx_ctrl.prod_flags.write_blocked && !atomic_read(&conn->bytes_to_rcv)) |