9p: return on mutex_lock_interruptible()
authorDan Carpenter <error27@gmail.com>
Tue, 30 Mar 2010 09:41:25 +0000 (09:41 +0000)
committerEric Van Hensbergen <ericvh@gmail.com>
Mon, 5 Apr 2010 19:32:33 +0000 (14:32 -0500)
If "err" is -EINTR here the original code calls mutex_unlock() and then
returns, but it should just return directly.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev

fs/9p/vfs_dir.c

index d8a3afe4ff722fcac539863e59a3278d459ec0bd..bbe00cf799fac5e96f07eac1964032f8b891c438 100644 (file)
@@ -130,6 +130,8 @@ static int v9fs_dir_readdir(struct file *filp, void *dirent, filldir_t filldir)
        rdir = (struct p9_rdir *) fid->rdir;
 
        err = mutex_lock_interruptible(&rdir->mutex);
+       if (err)
+               return err;
        while (err == 0) {
                if (rdir->tail == rdir->head) {
                        err = v9fs_file_readn(filp, rdir->buf, NULL,