2002-08-29 21:55:16

by Peter Waechtler

[permalink] [raw]
Subject: [PATCH] 30/41 sound/oss/waveartist.c - convert cli to spinlocks

--- vanilla-2.5.32/sound/oss/waveartist.c Sat Apr 20 18:25:22 2002
+++ linux-2.5-cli-oss/sound/oss/waveartist.c Thu Aug 15 14:29:48 2002
@@ -839,6 +839,7 @@
wavnc_info *devc = (wavnc_info *)dev_id;
int irqstatus, status;

+ spin_lock(&waveartist_lock);
irqstatus = inb(devc->hw.io_base + IRQSTAT);
status = inb(devc->hw.io_base + STATR);

@@ -870,6 +871,7 @@
if (irqstatus & 0x2)
// We do not use SB mode natively...
printk(KERN_WARNING "waveartist: Unexpected SB interrupt...\n");
+ spin_unlock(&waveartist_lock);
}

/* -------------------------------------------------------------------------
@@ -1523,8 +1525,7 @@

*CSR_TIMER1_LOAD = 0x00ffffff;

- save_flags(flags);
- cli();
+ spin_lock_irqsave(&waveartist_lock, flags);

outb(0xFF, 0x201);
*CSR_TIMER1_CNTL = TIMER_CNTL_ENABLE | TIMER_CNTL_DIV1;
@@ -1534,7 +1535,7 @@

*CSR_TIMER1_CNTL = 0;

- restore_flags(flags);
+ spin_unlock_irqrestore(&waveartist_lock,flags);

volume = 0x00ffffff - *CSR_TIMER1_VALUE;