diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-07-15 03:32:22 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-07-15 03:32:22 +0000 |
commit | f1da2c3860e301527d56a1ef0b56c649ee7c4b1b (patch) | |
tree | 562b5d2e8b9cb62eb983d78ff6bcf9789e08fcf6 /fs/devfs/base.c | |
parent | 00f11569ac8ca73cbcdef8822de1583e79aee571 (diff) |
Merge with Linux 2.4.0-test5-pre1. This works again on Origin UP.
The IP22 cache bugs which are plaguing some machines are still unfixed.
Diffstat (limited to 'fs/devfs/base.c')
-rw-r--r-- | fs/devfs/base.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/devfs/base.c b/fs/devfs/base.c index 494cb270a..38a773d72 100644 --- a/fs/devfs/base.c +++ b/fs/devfs/base.c @@ -3311,7 +3311,12 @@ static int devfsd_close (struct inode *inode, struct file *file) { struct fs_info *fs_info = inode->i_sb->u.generic_sbp; - if (fs_info->devfsd_file != file) return 0; + lock_kernel(); + if (fs_info->devfsd_file != file) + { + unlock_kernel(); + return 0; + } fs_info->devfsd_event_mask = 0; fs_info->devfsd_file = NULL; if (fs_info->devfsd_buffer) @@ -3322,6 +3327,7 @@ static int devfsd_close (struct inode *inode, struct file *file) fs_info->devfsd_buffer = NULL; fs_info->devfsd_task = NULL; wake_up (&fs_info->revalidate_wait_queue); + unlock_kernel(); return 0; } /* End Function devfsd_close */ |