VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / sound / oss / forte.c
index c7e23fc..ac4bada 100644 (file)
@@ -1265,7 +1265,7 @@ forte_dsp_open (struct inode *inode, struct file *file)
        if (file->f_mode & FMODE_READ)
                forte_channel_init (forte, &forte->rec);
 
-       return 0;
+       return nonseekable_open(inode, file);
 }
 
 
@@ -1438,9 +1438,6 @@ forte_dsp_write (struct file *file, const char __user *buffer, size_t bytes,
        unsigned int i = bytes, sz = 0;
        unsigned long flags;
 
-       if (ppos != &file->f_pos)
-               return -ESPIPE;
-
        if (!access_ok (VERIFY_READ, buffer, bytes))
                return -EFAULT;
 
@@ -1546,9 +1543,6 @@ forte_dsp_read (struct file *file, char __user *buffer, size_t bytes,
        unsigned int i = bytes, sz;
        unsigned long flags;
 
-       if (ppos != &file->f_pos)
-               return -ESPIPE;
-
        if (!access_ok (VERIFY_WRITE, buffer, bytes))
                return -EFAULT;
 
@@ -1847,15 +1841,15 @@ forte_proc_read (char *page, char **start, off_t off, int count,
 static int __init 
 forte_proc_init (void)
 {
-       if (!proc_mkdir ("driver/forte", 0))
+       if (!proc_mkdir ("driver/forte", NULL))
                return -EIO;
 
-       if (!create_proc_read_entry ("driver/forte/chip", 0, 0, forte_proc_read, forte)) {
+       if (!create_proc_read_entry ("driver/forte/chip", 0, NULL, forte_proc_read, forte)) {
                remove_proc_entry ("driver/forte", NULL);
                return -EIO;
        }
 
-       if (!create_proc_read_entry("driver/forte/ac97", 0, 0, ac97_read_proc, forte->ac97)) {
+       if (!create_proc_read_entry("driver/forte/ac97", 0, NULL, ac97_read_proc, forte->ac97)) {
                remove_proc_entry ("driver/forte/chip", NULL);
                remove_proc_entry ("driver/forte", NULL);
                return -EIO;