diff options
Diffstat (limited to 'fs/devfs/base.c')
-rw-r--r-- | fs/devfs/base.c | 7 |
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; |