VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / sound / oss / emu10k1 / midi.c
index 1aa768f..ec2424d 100644 (file)
@@ -185,7 +185,7 @@ match:
 
        up(&card->open_sem);
 
-       return 0;
+       return nonseekable_open(inode, file);
 }
 
 static int emu10k1_midi_release(struct inode *inode, struct file *file)
@@ -253,9 +253,6 @@ static ssize_t emu10k1_midi_read(struct file *file, char __user *buffer, size_t
 
        DPD(4, "emu10k1_midi_read(), count %#x\n", (u32) count);
 
-       if (pos != &file->f_pos)
-               return -ESPIPE;
-
        if (!access_ok(VERIFY_WRITE, buffer, count))
                return -EFAULT;
 
@@ -328,9 +325,6 @@ static ssize_t emu10k1_midi_write(struct file *file, const char __user *buffer,
 
        DPD(4, "emu10k1_midi_write(), count=%#x\n", (u32) count);
 
-       if (pos != &file->f_pos)
-               return -ESPIPE;
-
        if (!access_ok(VERIFY_READ, buffer, count))
                return -EFAULT;
 
@@ -532,7 +526,7 @@ void emu10k1_seq_midi_close(int dev)
 
        if (card->seq_mididev) {
                kfree(card->seq_mididev);
-               card->seq_mididev = 0;
+               card->seq_mididev = NULL;
        }
 }