Messages in this thread Patch in this message | | | Date | Thu, 29 Aug 2002 21:56:27 +0200 | Subject | [PATCH] 28/41 sound/oss/wavfront.c - convert cli to spinlocks | From | pwaechtler@mac ... |
| |
--- vanilla-2.5.32/sound/oss/wavfront.c Sat Aug 10 00:04:15 2002 +++ linux-2.5-cli-oss/sound/oss/wavfront.c Thu Aug 15 14:34:05 2002 @@ -76,7 +76,7 @@ #include <linux/ptrace.h> #include <linux/fcntl.h> #include <linux/ioport.h> - +#include <linux/spinlock.h> #include <linux/interrupt.h> #include <linux/config.h> @@ -274,6 +274,7 @@ wait_queue_head_t interrupt_sleeper; } dev; +static spinlock_t lock=SPIN_LOCK_UNLOCKED; static int detect_wffx(void); static int wffx_ioctl (wavefront_fx_info *); static int wffx_init (void); @@ -2202,12 +2203,12 @@ { unsigned long flags; - save_flags (flags); - cli(); + /* this will not help on SMP - but at least it compiles */ + spin_lock_irqsave(&lock, flags); dev.irq_ok = 0; outb (val,port); interruptible_sleep_on_timeout (&dev.interrupt_sleeper, timeout); - restore_flags (flags); + spin_unlock_irqrestore(&lock,flags); } static int __init wavefront_hw_reset (void) @@ -2223,8 +2224,6 @@ printk (KERN_DEBUG LOGNAME "autodetecting WaveFront IRQ\n"); - sti (); - irq_mask = probe_irq_on (); outb (0x0, dev.control_port); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |