2002-09-22 09:09:45

by Peter Waechtler

[permalink] [raw]
Subject: [PATCH] 5/11 sound/oss replace cli()

--- vanilla-2.5.36/sound/oss/dmasound/dmasound_core.c 2002-08-10
00:03:13.000000000 +0200
+++ linux-2.5-cli-oss/sound/oss/dmasound/dmasound_core.c 2002-09-09 00:33:
36.000000000 +0200
@@ -597,9 +597,9 @@
is drained - and if we get here in time then it does not apply.
*/

- save_flags(flags) ; cli() ;
+ spin_lock_irqsave(&dmasound.lock, flags);
write_sq.syncing &= ~2 ; /* take out POST status */
- restore_flags(flags) ;
+ spin_unlock_irqrestore(&dmasound.lock, flags);

if (write_sq.count > 0 &&
(bLeft = write_sq.block_size-write_sq.rear_size) > 0) {
@@ -1347,6 +1347,7 @@
if (dmasound.mach.record)
sq_fops.read = sq_read ;
#endif
+ spin_lock_init(&dmasound.lock);
sq_unit = register_sound_dsp(&sq_fops, -1);
if (sq_unit < 0) {
printk(KERN_ERR "dmasound_core: couldn't register fops\n") ;