Skip to contentSkip to conversation

Bug-fix for Maestro dock/hardware volume control patch

PATCH New Ben Pfaff 1 participant 1 message May 21, 2001

lore
Share & tools
lore

Ben Pfaff

author
#0 lore raw

PATCH 1/1 Bug-fix for Maestro dock/hardware volume control patch

This patch, to be applied on top of the patch sent to linux-kernel last week, fixes a bug which caused the driver to crash on insertion if a hardware volume button had been pushed.

drivers/sound/maestro.c +10 -1
@@ -3226,7 +3359,7 @@
 	outw(w, iobase+0x18);
 
 	w=inw(iobase+0x18);
-	w|=1<<6;		/* Hardware volume control interrupt on. */
+	w&=~(1<<6);		/* Hardware volume control interrupt off... for now. */
 	outw(w, iobase+0x18);
 	
 	w=inw(iobase+0x18);
@@ -3549,6 +3680,15 @@
 		kfree(card);
 		return 0;
 	}
+
+	/* Turn on hardware volume control interrupt.
+	   This has to come after we grab the IRQ above,
+	   or a crash will result on installation if a button has been pressed,
+	   because in that case we'll get an immediate interrupt. */
+	n = inw(iobase+0x18);
+	n|=(1<<6);
+	outw(n, iobase+0x18);
+
 	/* now go to sleep 'till something interesting happens */
 	maestro_power(card,ACPI_D2);
 
Signature · 3 lines
Ben Pfaff <[email protected]> <[email protected]> <[email protected]>
MSU Student - Debian GNU/Linux Maintainer - GNU Developer
Personal webpage: http://www.msu.edu/user/pfaffben