diff options
-rw-r--r-- | net/smc/af_smc.c | 8 |
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; |
855 | enqueue: | 850 | enqueue: |
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); |