From: Karsten Graul <kgr...@linux.ibm.com>

Remove the shortcut that smc_lgr_free() would skip the check for
existing connections when the link group is not in the link group list.

Signed-off-by: Karsten Graul <kgr...@linux.ibm.com>
Signed-off-by: Ursula Braun <ubr...@linux.ibm.com>
---
 net/smc/smc_core.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/smc/smc_core.c b/net/smc/smc_core.c
index 349d789a9728..53a17cfa61af 100644
--- a/net/smc/smc_core.c
+++ b/net/smc/smc_core.c
@@ -160,8 +160,6 @@ static void smc_lgr_free_work(struct work_struct *work)
        bool conns;
 
        spin_lock_bh(&smc_lgr_list.lock);
-       if (list_empty(&lgr->list))
-               goto free;
        read_lock_bh(&lgr->conns_lock);
        conns = RB_EMPTY_ROOT(&lgr->conns_all);
        read_unlock_bh(&lgr->conns_lock);
@@ -169,8 +167,8 @@ static void smc_lgr_free_work(struct work_struct *work)
                spin_unlock_bh(&smc_lgr_list.lock);
                return;
        }
-       list_del_init(&lgr->list); /* remove from smc_lgr_list */
-free:
+       if (!list_empty(&lgr->list))
+               list_del_init(&lgr->list); /* remove from smc_lgr_list */
        spin_unlock_bh(&smc_lgr_list.lock);
 
        if (!lgr->is_smcd && !lgr->terminating) {
-- 
2.16.4

Reply via email to