vserver 1.9.3
[linux-2.6.git] / sound / oss / ite8172.c
index f62efd8..f984133 100644 (file)
 #include <linux/spinlock.h>
 #include <linux/smp_lock.h>
 #include <linux/ac97_codec.h>
+#include <linux/interrupt.h>
 #include <asm/io.h>
 #include <asm/dma.h>
 #include <asm/uaccess.h>
-#include <asm/hardirq.h>
 #include <asm/it8172/it8172.h>
 
 /* --------------------------------------------------------------------- */
@@ -878,7 +878,7 @@ static int it8172_open_mixdev(struct inode *inode, struct file *file)
                        break;
        }
        file->private_data = s;
-       return 0;
+       return nonseekable_open(inode, file);
 }
 
 static int it8172_release_mixdev(struct inode *inode, struct file *file)
@@ -1093,8 +1093,6 @@ static ssize_t it8172_read(struct file *file, char *buffer,
        unsigned long flags;
        int cnt, remainder, avail;
 
-       if (ppos != &file->f_pos)
-               return -ESPIPE;
        if (db->mapped)
                return -ENXIO;
        if (!access_ok(VERIFY_WRITE, buffer, count))
@@ -1176,8 +1174,6 @@ static ssize_t it8172_write(struct file *file, const char *buffer,
        unsigned long flags;
        int cnt, remainder, avail;
 
-       if (ppos != &file->f_pos)
-               return -ESPIPE;
        if (db->mapped)
                return -ENXIO;
        if (!access_ok(VERIFY_READ, buffer, count))
@@ -1843,7 +1839,7 @@ static int it8172_open(struct inode *inode, struct file *file)
 
        s->open_mode |= (file->f_mode & (FMODE_READ | FMODE_WRITE));
        up(&s->open_sem);
-       return 0;
+       return nonseekable_open(inode, file);
 }
 
 static int it8172_release(struct inode *inode, struct file *file)