--- a/alsa-kernel/pci/ac97/ac97_patch.c	2005-05-27 11:42:45.000000000 +0200
+++ b/alsa-kernel/pci/ac97/ac97_patch.c	2005-08-10 22:51:26.000000000 +0200
@@ -1356,8 +1356,8 @@
 }
 
 static const snd_kcontrol_new_t snd_ac97_ad1981x_jack_sense[] = {
-	AC97_SINGLE("Headphone Jack Sense", AC97_AD_JACK_SPDIF, 11, 1, 0),
-	AC97_SINGLE("Line Jack Sense", AC97_AD_JACK_SPDIF, 12, 1, 0),
+	AC97_SINGLE("Headphone Jack Sense", AC97_AD_JACK_SPDIF, 3, 1, 0),
+	AC97_SINGLE("Mute", 0x5a, 9, 1, 0),
 };
 
 static int patch_ad1981a_specific(ac97_t * ac97)
@@ -1384,6 +1384,21 @@
 		/* enable headphone jack sense */
 		snd_ac97_update_bits(ac97, AC97_AD_JACK_SPDIF, 1<<11, 1<<11);
 		break;
+	case 0x103c0934: /* HP nw8240 */
+		/* enable headphone jack sense (apparantly HP-specific) */
+		snd_ac97_update_bits(ac97, 0x5a, 1<<15 | 1<<8, 1<<8);
+		
+		/* Generic AD1981B-stuff */
+		/* enable automatic switching between headphones and
+		 * speakers based on headphone sensing */
+		snd_ac97_update_bits(ac97, AC97_AD_JACK_SPDIF, 7<<10, 1<<10);
+		/* Disable EQ Bypass */
+		snd_ac97_update_bits(ac97, AC97_AD_JACK_SPDIF, 3<<8, 0);
+		/* Disable delayed jack sensing */
+		snd_ac97_update_bits(ac97, AC97_AD_JACK_SPDIF, 3<<6, 0);
+		/* Set sensing mode (not interrupts) */
+		snd_ac97_update_bits(ac97, AC97_AD_JACK_SPDIF, 3<<4, 0);
+		break;
 	}
 }
 
