This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / sound / oss / trident.c
index 1beb4e9..ed04f40 100644 (file)
@@ -1874,6 +1874,8 @@ trident_read(struct file *file, char __user *buffer, size_t count, loff_t * ppos
        pr_debug("trident: trident_read called, count = %d\n", count);
 
        VALIDATE_STATE(state);
+       if (ppos != &file->f_pos)
+               return -ESPIPE;
 
        if (dmabuf->mapped)
                return -ENXIO;
@@ -1990,6 +1992,8 @@ trident_write(struct file *file, const char __user *buffer, size_t count, loff_t
        pr_debug("trident: trident_write called, count = %d\n", count);
 
        VALIDATE_STATE(state);
+       if (ppos != &file->f_pos)
+               return -ESPIPE;
 
        /*
         *      Guard against an mmap or ioctl while writing
@@ -2819,7 +2823,7 @@ trident_open(struct inode *inode, struct file *file)
        pr_debug("trident: open virtual channel %d, hard channel %d\n",
                 state->virt, dmabuf->channel->num);
 
-       return nonseekable_open(inode, file);
+       return 0;
 }
 
 static int
@@ -4075,7 +4079,7 @@ trident_open_mixdev(struct inode *inode, struct file *file)
       match:
        file->private_data = card->ac97_codec[i];
 
-       return nonseekable_open(inode, file);
+       return 0;
 }
 
 static int