This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / sound / oss / emu10k1 / midi.c
index ec2424d..1aa768f 100644 (file)
@@ -185,7 +185,7 @@ match:
 
        up(&card->open_sem);
 
-       return nonseekable_open(inode, file);
+       return 0;
 }
 
 static int emu10k1_midi_release(struct inode *inode, struct file *file)
@@ -253,6 +253,9 @@ 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;
 
@@ -325,6 +328,9 @@ 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;
 
@@ -526,7 +532,7 @@ void emu10k1_seq_midi_close(int dev)
 
        if (card->seq_mididev) {
                kfree(card->seq_mididev);
-               card->seq_mididev = NULL;
+               card->seq_mididev = 0;
        }
 }