From: NeilBrown <neilb@cse.unsw.edu.au>

We could try to unlock the state lock here without having first locked it.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 fs/nfsd/nfs4state.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff -puN fs/nfsd/nfs4state.c~nfsd4-fix-setclientid-unlock-of-unlocked-state-lock fs/nfsd/nfs4state.c
--- devel/fs/nfsd/nfs4state.c~nfsd4-fix-setclientid-unlock-of-unlocked-state-lock	2005-09-11 23:49:44.000000000 -0700
+++ devel-akpm/fs/nfsd/nfs4state.c	2005-09-11 23:49:44.000000000 -0700
@@ -678,13 +678,12 @@ nfsd4_setclientid(struct svc_rqst *rqstp
 	int 			status;
 	char                    dname[HEXDIR_LEN];
 	
-	status = nfserr_inval;
 	if (!check_name(clname))
-		goto out;
+		return nfserr_inval;
 
 	status = nfs4_make_rec_clidname(dname, &clname);
 	if (status)
-		goto out;
+		return status;
 
 	/* 
 	 * XXX The Duplicate Request Cache (DRC) has been checked (??)
_