net/smc: remove obsolete link state DELETING
authorKarsten Graul <kgraul@linux.ibm.com>
Thu, 30 Apr 2020 13:55:51 +0000 (15:55 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Apr 2020 19:44:34 +0000 (12:44 -0700)
The connection layer in af_smc.c is now using the new LLC flow
framework, which made the link state DELETING obsolete. Remove the state
and the respective helpers.

Signed-off-by: Karsten Graul <kgraul@linux.ibm.com>
Reviewed-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/smc/smc_core.c
net/smc/smc_core.h
net/smc/smc_llc.c
net/smc/smc_llc.h

index 096dce92ee2b32d09ba71a7fc14e8d6bf62e061a..3539ceef9a972dd68e53eca643bb19d2102266fb 100644 (file)
@@ -200,7 +200,6 @@ static int smcr_link_send_delete(struct smc_link *lnk, bool orderly)
 {
        if (lnk->state == SMC_LNK_ACTIVE &&
            !smc_llc_send_delete_link(lnk, SMC_LLC_REQ, orderly)) {
-               smc_llc_link_deleting(lnk);
                return 0;
        }
        return -ENOTCONN;
@@ -767,8 +766,7 @@ void smc_port_terminate(struct smc_ib_device *smcibdev, u8 ibport)
                        continue;
                /* tbd - terminate only when no more links are active */
                for (i = 0; i < SMC_LINKS_PER_LGR_MAX; i++) {
-                       if (!smc_link_usable(&lgr->lnk[i]) ||
-                           lgr->lnk[i].state == SMC_LNK_DELETING)
+                       if (!smc_link_usable(&lgr->lnk[i]))
                                continue;
                        if (lgr->lnk[i].smcibdev == smcibdev &&
                            lgr->lnk[i].ibport == ibport) {
index 0be26386057f3290adf06a84f895f4b23c0dd015..f12474cc666c3f4fc79d08cd7631807aebe74c6b 100644 (file)
@@ -36,7 +36,6 @@ enum smc_link_state {                 /* possible states of a link */
        SMC_LNK_INACTIVE,       /* link is inactive */
        SMC_LNK_ACTIVATING,     /* link is being activated */
        SMC_LNK_ACTIVE,         /* link is active */
-       SMC_LNK_DELETING,       /* link is being deleted */
 };
 
 #define SMC_WR_BUF_SIZE                48      /* size of work request buffer */
index 92c9a8a8aaf9747121d12b373a0dd209bb147218..327cf30b98cc892fc22975a92126df3413869da7 100644 (file)
@@ -545,7 +545,6 @@ static void smc_llc_rx_delete_link(struct smc_link *link,
        struct smc_link_group *lgr = smc_get_lgr(link);
 
        smc_lgr_forget(lgr);
-       smc_llc_link_deleting(link);
        if (lgr->role == SMC_SERV) {
                /* client asks to delete this link, send request */
                smc_llc_prep_delete_link(llc, link, SMC_LLC_REQ, true);
@@ -878,12 +877,6 @@ void smc_llc_link_active(struct smc_link *link)
        }
 }
 
-void smc_llc_link_deleting(struct smc_link *link)
-{
-       link->state = SMC_LNK_DELETING;
-       smc_wr_wakeup_tx_wait(link);
-}
-
 /* called in worker context */
 void smc_llc_link_clear(struct smc_link *link)
 {
index e9f23affece6fbf4b4da6447db5888762cf9bae6..48029a5e14c3aa6a0f9414fbe2c862b885f3482a 100644 (file)
@@ -57,7 +57,6 @@ void smc_llc_lgr_init(struct smc_link_group *lgr, struct smc_sock *smc);
 void smc_llc_lgr_clear(struct smc_link_group *lgr);
 int smc_llc_link_init(struct smc_link *link);
 void smc_llc_link_active(struct smc_link *link);
-void smc_llc_link_deleting(struct smc_link *link);
 void smc_llc_link_clear(struct smc_link *link);
 int smc_llc_do_confirm_rkey(struct smc_link *send_link,
                            struct smc_buf_desc *rmb_desc);