This patch cleanups the lock order to hold at first the close_lock and
then held the nodes_srcu read lock. Probably it will never be a problem
as nodes_srcu is only a read lock preventing the node pointer getting
freed.
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
 
        synchronize_srcu(&nodes_srcu);
 
-       idx = srcu_read_lock(&nodes_srcu);
        mutex_lock(&close_lock);
+       idx = srcu_read_lock(&nodes_srcu);
        node = nodeid2node(nodeid, 0);
        if (!node) {
-               mutex_unlock(&close_lock);
                srcu_read_unlock(&nodes_srcu, idx);
+               mutex_unlock(&close_lock);
                return dlm_lowcomms_close(nodeid);
        }