This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / sound / oss / rme96xx.c
index 3df045d..404ba23 100644 (file)
@@ -1454,7 +1454,6 @@ static int rme96xx_open(struct inode *in, struct file *f)
 
        DBG(printk("device num %d open\n",devnum));
 
-       nonseekable_open(in, f);
        for (list = devs.next; ; list = list->next) {
                if (list == &devs)
                        return -ENODEV;
@@ -1544,6 +1543,9 @@ static ssize_t rme96xx_write(struct file *file, const char __user *buffer, size_
        if(dma == NULL || (dma->s) == NULL) 
                return -ENXIO;
 
+       if (ppos != &file->f_pos)
+               return -ESPIPE;
+
        if (dma->mmapped || !dma->opened)
                return -ENXIO;
 
@@ -1609,6 +1611,9 @@ static ssize_t rme96xx_read(struct file *file, char __user *buffer, size_t count
        if(dma == NULL || (dma->s) == NULL) 
                return -ENXIO;
 
+       if (ppos != &file->f_pos)
+               return -ESPIPE;
+
        if (dma->mmapped || !dma->opened)
                return -ENXIO;
 
@@ -1770,7 +1775,6 @@ static int rme96xx_mixer_open(struct inode *inode, struct file *file)
 
        COMM  ("mixer open");
 
-       nonseekable_open(inode, file);
        for (list = devs.next; ; list = list->next) {
                if (list == &devs)
                        return -ENODEV;