patch-2.4.2 linux/drivers/sound/sb_midi.c
Next file: linux/drivers/sound/sonicvibes.c
Previous file: linux/drivers/sound/sb_ess.c
Back to the patch index
Back to the overall index
- Lines: 61
- Date:
Fri Feb 16 16:02:37 2001
- Orig file:
v2.4.1/linux/drivers/sound/sb_midi.c
- Orig date:
Fri Aug 11 08:26:43 2000
diff -u --recursive --new-file v2.4.1/linux/drivers/sound/sb_midi.c linux/drivers/sound/sb_midi.c
@@ -11,6 +11,8 @@
* for more info.
*/
+#include <linux/spinlock.h>
+
#include "sound_config.h"
#include "sb.h"
@@ -36,15 +38,14 @@
if (devc == NULL)
return -ENXIO;
- save_flags(flags);
- cli();
+ spin_lock_irqsave(&devc->lock, flags);
if (devc->opened)
{
- restore_flags(flags);
+ spin_unlock_irqrestore(&devc->lock, flags);
return -EBUSY;
}
devc->opened = 1;
- restore_flags(flags);
+ spin_unlock_irqrestore(&devc->lock, flags);
devc->irq_mode = IMODE_MIDI;
devc->midi_broken = 0;
@@ -74,13 +75,12 @@
if (devc == NULL)
return;
- save_flags(flags);
- cli();
+ spin_lock_irqsave(&devc->lock, flags);
sb_dsp_reset(devc);
devc->intr_active = 0;
devc->input_opened = 0;
devc->opened = 0;
- restore_flags(flags);
+ spin_unlock_irqrestore(&devc->lock, flags);
}
static int sb_midi_out(int dev, unsigned char midi_byte)
@@ -131,14 +131,13 @@
if (devc == NULL)
return;
- save_flags(flags);
- cli();
+ spin_lock_irqsave(&devc->lock, flags);
data = inb(DSP_READ);
if (devc->input_opened)
devc->midi_input_intr(devc->my_mididev, data);
- restore_flags(flags);
+ spin_unlock_irqrestore(&devc->lock, flags);
}
#define MIDI_SYNTH_NAME "Sound Blaster Midi"
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)