public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] Bug-fix for Maestro dock/hardware volume control patch
@ 2001-05-21 23:35 Ben Pfaff
  0 siblings, 0 replies; only message in thread
From: Ben Pfaff @ 2001-05-21 23:35 UTC (permalink / raw)
  To: linux-kernel

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.

--- linux-2.4.4-ac12.vanilla/drivers/sound/maestro.c	Mon May 21 19:18:49 2001
+++ linux-2.4.5pre1/drivers/sound/maestro.c	Mon May 21 18:27:39 2001
@@ -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);
 


-- 
Ben Pfaff <pfaffben@msu.edu> <pfaffben@debian.org> <blp@gnu.org>
MSU Student - Debian GNU/Linux Maintainer - GNU Developer
Personal webpage: http://www.msu.edu/user/pfaffben

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-05-21 23:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-05-21 23:35 [patch] Bug-fix for Maestro dock/hardware volume control patch Ben Pfaff

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox