Merge branch 'smc-fixes'
Karsten Graul says: ==================== net/smc: fixes 2020-07-20 Please apply the following patch series for smc to netdev's net tree. Patch 1 fixes a problem with a buffer that is not put back when the connection was killed in the meantime. Patch 2 fixes a wrong behaviour when the maximum dmb buffer count exceeded. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
d49e2c9e54
@ -66,9 +66,13 @@ int smc_cdc_get_free_slot(struct smc_connection *conn,
|
||||
rc = smc_wr_tx_get_free_slot(link, smc_cdc_tx_handler, wr_buf,
|
||||
wr_rdma_buf,
|
||||
(struct smc_wr_tx_pend_priv **)pend);
|
||||
if (conn->killed)
|
||||
if (conn->killed) {
|
||||
/* abnormal termination */
|
||||
if (!rc)
|
||||
smc_wr_tx_put_slot(link,
|
||||
(struct smc_wr_tx_pend_priv *)pend);
|
||||
rc = -EPIPE;
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@ -444,7 +444,7 @@ static int smc_lgr_create(struct smc_sock *smc, struct smc_init_info *ini)
|
||||
}
|
||||
smc->conn.lgr = lgr;
|
||||
spin_lock_bh(lgr_lock);
|
||||
list_add(&lgr->list, lgr_list);
|
||||
list_add_tail(&lgr->list, lgr_list);
|
||||
spin_unlock_bh(lgr_lock);
|
||||
return 0;
|
||||
|
||||
@ -1311,7 +1311,7 @@ int smc_conn_create(struct smc_sock *smc, struct smc_init_info *ini)
|
||||
smcr_lgr_match(lgr, ini->ib_lcl, role, ini->ib_clcqpn)) &&
|
||||
!lgr->sync_err &&
|
||||
lgr->vlan_id == ini->vlan_id &&
|
||||
(role == SMC_CLNT ||
|
||||
(role == SMC_CLNT || ini->is_smcd ||
|
||||
lgr->conns_num < SMC_RMBS_PER_LGR_MAX)) {
|
||||
/* link group found */
|
||||
ini->cln_first_contact = SMC_REUSE_CONTACT;
|
||||
|
Loading…
x
Reference in New Issue
Block a user