]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/sysfs/file.c
[PATCH] sysfs: reinstate exclusion between method calls and attribute unregistration
[linux-2.6-omap-h63xx.git] / fs / sysfs / file.c
index 1bafdf6e171cb5c73d9c0650368b2ad8795684e6..fc4633378dc05e064e8d207babaebe2a917e2b78 100644 (file)
@@ -168,12 +168,12 @@ sysfs_read_file(struct file *file, char __user *buf, size_t count, loff_t *ppos)
        ssize_t retval = 0;
 
        down(&buffer->sem);
-       if (buffer->orphaned) {
-               retval = -ENODEV;
-               goto out;
-       }
        if (buffer->needs_read_fill) {
-               if ((retval = fill_read_buffer(file->f_path.dentry,buffer)))
+               if (buffer->orphaned)
+                       retval = -ENODEV;
+               else
+                       retval = fill_read_buffer(file->f_path.dentry,buffer);
+               if (retval)
                        goto out;
        }
        pr_debug("%s: count = %zd, ppos = %lld, buf = %s\n",