patch-2.1.110 linux/drivers/sound/msnd.c

Next file: linux/drivers/sound/msnd.h
Previous file: linux/drivers/sound/mad16.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.109/linux/drivers/sound/msnd.c linux/drivers/sound/msnd.c
@@ -212,7 +212,7 @@
 int msnd_wait_TXDE(multisound_dev_t *dev)
 {
 	register unsigned int io = dev->io;
-	register int timeout = 5000;
+	register int timeout = 100;
     
 	while(timeout-- > 0)
 		if (inb(io + HP_ISR) & HPISR_TXDE)
@@ -224,7 +224,7 @@
 int msnd_wait_HC0(multisound_dev_t *dev)
 {
 	register unsigned int io = dev->io;
-	register int timeout = 25000;
+	register int timeout = 100;
 
 	while(timeout-- > 0)
 		if (!(inb(io + HP_CVR) & HPCVR_HC))
@@ -291,7 +291,7 @@
 
 int msnd_enable_irq(multisound_dev_t *dev)
 {
-	printk(KERN_INFO LOGNAME ": enable_irq: count %d\n", dev->irq_ref);
+	printk(KERN_DEBUG LOGNAME ": enable_irq: count %d\n", dev->irq_ref);
 
 	if (dev->irq_ref++ != 0)
 		return 0;
@@ -333,6 +333,8 @@
 		dev->irq_ref = 0;
 
 	printk(KERN_DEBUG LOGNAME ": Disabling IRQ\n");
+	
+	udelay(50);
 
 	spin_lock_irqsave(&dev->lock, flags);
 	outb(inb(dev->io + HP_ICR) & ~HPICR_RREQ, dev->io + HP_ICR);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov