summaryrefslogtreecommitdiffstats
path: root/fs/devfs/base.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/devfs/base.c')
-rw-r--r--fs/devfs/base.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/fs/devfs/base.c b/fs/devfs/base.c
index 264992d3f..5c412e301 100644
--- a/fs/devfs/base.c
+++ b/fs/devfs/base.c
@@ -2250,7 +2250,6 @@ static void devfs_read_inode (struct inode *inode)
printk ("%s: read_inode(%d): VFS inode: %p devfs_entry: %p\n",
DEVFS_NAME, (int) inode->i_ino, inode, de);
#endif
- inode->i_size = 0;
inode->i_blocks = 0;
inode->i_blksize = 1024;
inode->i_op = &devfs_iops;
@@ -2416,11 +2415,6 @@ static int devfs_readdir (struct file *file, void *dirent, filldir_t filldir)
struct devfs_entry *parent, *de;
struct inode *inode = file->f_dentry->d_inode;
- if (inode == NULL)
- {
- printk ("%s: readdir(): NULL inode\n", DEVFS_NAME);
- return -EBADF;
- }
if ( !S_ISDIR (inode->i_mode) )
{
printk ("%s: readdir(): inode is not a directory\n", DEVFS_NAME);
@@ -3185,6 +3179,7 @@ static ssize_t devfsd_read (struct file *file, char *buf, size_t len,
current->state = TASK_RUNNING;
return -EINTR;
}
+ set_current_state(TASK_INTERRUPTIBLE);
}
remove_wait_queue (&fs_info->devfsd_wait_queue, &wait);
current->state = TASK_RUNNING;