net/smc: cancel send and receive for terminated socket
The resources for a terminated socket are being cleaned up. This patch makes sure * no more data is received for an actively terminated socket * no more data is sent for an actively or passively terminated socket Signed-off-by: Ursula Braun <ubraun@linux.ibm.com> Signed-off-by: Karsten Graul <kgraul@linux.ibm.com> Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
This commit is contained in:

committed by
Jakub Kicinski

parent
fe28afe23e
commit
b290098092
@@ -63,7 +63,7 @@ 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->alert_token_local)
|
||||
if (conn->killed)
|
||||
/* abnormal termination */
|
||||
rc = -EPIPE;
|
||||
return rc;
|
||||
@@ -328,7 +328,7 @@ static void smcd_cdc_rx_tsklet(unsigned long data)
|
||||
struct smcd_cdc_msg cdc;
|
||||
struct smc_sock *smc;
|
||||
|
||||
if (!conn)
|
||||
if (!conn || conn->killed)
|
||||
return;
|
||||
|
||||
data_cdc = (struct smcd_cdc_msg *)conn->rmb_desc->cpu_addr;
|
||||
|
Reference in New Issue
Block a user