linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / sound / oss / emu10k1 / midi.c
index 8ac77df..b40b5f9 100644 (file)
@@ -45,7 +45,7 @@
 #include "../sound_config.h"
 #endif
 
-static DEFINE_SPINLOCK(midi_spinlock);
+static DEFINE_SPINLOCK(midi_spinlock __attribute((unused)));
 
 static void init_midi_hdr(struct midi_hdr *midihdr)
 {
@@ -65,8 +65,7 @@ static int midiin_add_buffer(struct emu10k1_mididevice *midi_dev, struct midi_hd
 
        init_midi_hdr(midihdr);
 
-       midihdr->data = kmalloc(MIDIIN_BUFLEN, GFP_KERNEL);
-       if (!midihdr->data) {
+       if ((midihdr->data = (u8 *) kmalloc(MIDIIN_BUFLEN, GFP_KERNEL)) == NULL) {
                ERROR();
                kfree(midihdr);
                return -1;
@@ -111,21 +110,21 @@ match:
 #endif
 
        /* Wait for device to become free */
-       mutex_lock(&card->open_sem);
+       down(&card->open_sem);
        while (card->open_mode & (file->f_mode << FMODE_MIDI_SHIFT)) {
                if (file->f_flags & O_NONBLOCK) {
-                       mutex_unlock(&card->open_sem);
+                       up(&card->open_sem);
                        return -EBUSY;
                }
 
-               mutex_unlock(&card->open_sem);
+               up(&card->open_sem);
                interruptible_sleep_on(&card->open_wait);
 
                if (signal_pending(current)) {
                        return -ERESTARTSYS;
                }
 
-               mutex_lock(&card->open_sem);
+               down(&card->open_sem);
        }
 
        if ((midi_dev = (struct emu10k1_mididevice *) kmalloc(sizeof(*midi_dev), GFP_KERNEL)) == NULL)
@@ -184,7 +183,7 @@ match:
 
        card->open_mode |= (file->f_mode << FMODE_MIDI_SHIFT) & (FMODE_MIDI_READ | FMODE_MIDI_WRITE);
 
-       mutex_unlock(&card->open_sem);
+       up(&card->open_sem);
 
        return nonseekable_open(inode, file);
 }
@@ -235,9 +234,9 @@ static int emu10k1_midi_release(struct inode *inode, struct file *file)
 
        kfree(midi_dev);
 
-       mutex_lock(&card->open_sem);
+       down(&card->open_sem);
        card->open_mode &= ~((file->f_mode << FMODE_MIDI_SHIFT) & (FMODE_MIDI_READ | FMODE_MIDI_WRITE));
-       mutex_unlock(&card->open_sem);
+       up(&card->open_sem);
        wake_up_interruptible(&card->open_wait);
 
        unlock_kernel();
@@ -335,8 +334,7 @@ static ssize_t emu10k1_midi_write(struct file *file, const char __user *buffer,
        midihdr->bytesrecorded = 0;
        midihdr->flags = 0;
 
-       midihdr->data = kmalloc(count, GFP_KERNEL);
-       if (!midihdr->data) {
+       if ((midihdr->data = (u8 *) kmalloc(count, GFP_KERNEL)) == NULL) {
                ERROR();
                kfree(midihdr);
                return -EINVAL;
@@ -547,8 +545,7 @@ int emu10k1_seq_midi_out(int dev, unsigned char midi_byte)
        midihdr->bytesrecorded = 0;
        midihdr->flags = 0;
 
-       midihdr->data = kmalloc(1, GFP_KERNEL);
-       if (!midihdr->data) {
+       if ((midihdr->data = (u8 *) kmalloc(1, GFP_KERNEL)) == NULL) {
                ERROR();
                kfree(midihdr);
                return -EINVAL;