X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sound%2Foss%2Femu10k1%2Fmidi.c;h=ec2424db43cb18826a8724151c597be57863f457;hb=9bf4aaab3e101692164d49b7ca357651eb691cb6;hp=06a78997d317f0a1200305cfbcb3fbf0dd87d19b;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/sound/oss/emu10k1/midi.c b/sound/oss/emu10k1/midi.c index 06a78997d..ec2424db4 100644 --- a/sound/oss/emu10k1/midi.c +++ b/sound/oss/emu10k1/midi.c @@ -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) @@ -244,7 +244,7 @@ static int emu10k1_midi_release(struct inode *inode, struct file *file) return 0; } -static ssize_t emu10k1_midi_read(struct file *file, char *buffer, size_t count, loff_t * pos) +static ssize_t emu10k1_midi_read(struct file *file, char __user *buffer, size_t count, loff_t * pos) { struct emu10k1_mididevice *midi_dev = (struct emu10k1_mididevice *) file->private_data; ssize_t ret = 0; @@ -253,9 +253,6 @@ static ssize_t emu10k1_midi_read(struct file *file, char *buffer, size_t count, 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; @@ -319,7 +316,7 @@ static ssize_t emu10k1_midi_read(struct file *file, char *buffer, size_t count, return ret; } -static ssize_t emu10k1_midi_write(struct file *file, const char *buffer, size_t count, loff_t * pos) +static ssize_t emu10k1_midi_write(struct file *file, const char __user *buffer, size_t count, loff_t * pos) { struct emu10k1_mididevice *midi_dev = (struct emu10k1_mididevice *) file->private_data; struct midi_hdr *midihdr; @@ -328,9 +325,6 @@ static ssize_t emu10k1_midi_write(struct file *file, const char *buffer, size_t 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; } }