diff --git a/fs/nfs/client.c b/fs/nfs/client.c index 06e8719655f0b08e98abcc87da32c45d71a7f22b..da74c4c4a244cfd7ecd585f2b8a9e03e4c4b846c 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c @@ -299,9 +299,9 @@ static struct nfs_client *nfs_match_client(const struct nfs_client_initdata *dat spin_unlock(&nn->nfs_client_lock); error = nfs_wait_client_init_complete(clp); nfs_put_client(clp); + spin_lock(&nn->nfs_client_lock); if (error < 0) return ERR_PTR(error); - spin_lock(&nn->nfs_client_lock); goto again; }