summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/smc/af_smc.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
index 6793d7348cc8..120a7b9b4d8e 100644
--- a/net/smc/af_smc.c
+++ b/net/smc/af_smc.c
@@ -779,11 +779,6 @@ static void smc_listen_work(struct work_struct *work)
779 mutex_lock(&smc_create_lgr_pending); 779 mutex_lock(&smc_create_lgr_pending);
780 local_contact = smc_conn_create(new_smc, peeraddr.sin_addr.s_addr, 780 local_contact = smc_conn_create(new_smc, peeraddr.sin_addr.s_addr,
781 smcibdev, ibport, &pclc.lcl, 0); 781 smcibdev, ibport, &pclc.lcl, 0);
782 if (local_contact == SMC_REUSE_CONTACT)
783 /* lock no longer needed, free it due to following
784 * smc_clc_wait_msg() call
785 */
786 mutex_unlock(&smc_create_lgr_pending);
787 if (local_contact < 0) { 782 if (local_contact < 0) {
788 rc = local_contact; 783 rc = local_contact;
789 if (rc == -ENOMEM) 784 if (rc == -ENOMEM)
@@ -853,8 +848,7 @@ out_connected:
853 if (newsmcsk->sk_state == SMC_INIT) 848 if (newsmcsk->sk_state == SMC_INIT)
854 newsmcsk->sk_state = SMC_ACTIVE; 849 newsmcsk->sk_state = SMC_ACTIVE;
855enqueue: 850enqueue:
856 if (local_contact == SMC_FIRST_CONTACT) 851 mutex_unlock(&smc_create_lgr_pending);
857 mutex_unlock(&smc_create_lgr_pending);
858 lock_sock_nested(&lsmc->sk, SINGLE_DEPTH_NESTING); 852 lock_sock_nested(&lsmc->sk, SINGLE_DEPTH_NESTING);
859 if (lsmc->sk.sk_state == SMC_LISTEN) { 853 if (lsmc->sk.sk_state == SMC_LISTEN) {
860 smc_accept_enqueue(&lsmc->sk, newsmcsk); 854 smc_accept_enqueue(&lsmc->sk, newsmcsk);