[HDAUDBUS]
authorThomas Faber <thomas.faber@reactos.org>
Sun, 20 Aug 2017 15:02:53 +0000 (15:02 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Sun, 20 Aug 2017 15:02:53 +0000 (15:02 +0000)
- Correctly disable interrupts for status change events. Fixes infinite "HDA_InterruptService c0000000" debug spam (interrupt storm) on VMware with HDAudio sound enabled.
CORE-13704 #resolve

svn path=/trunk/; revision=75629

reactos/drivers/wdm/audio/hdaudbus/fdo.cpp

index 1e6b6f6..b032073 100644 (file)
@@ -603,7 +603,7 @@ HDA_FDOStartDevice(
         // them, as we want to use the STATE_STATUS register to identify
         // available codecs. We'd have to clear that register in the interrupt
         // handler to 'ack' the codec change.
-        Value = READ_REGISTER_USHORT((PUSHORT)(DeviceExtension->RegBase + HDAC_WAKE_ENABLE)) & HDAC_WAKE_ENABLE_MASK;
+        Value = READ_REGISTER_USHORT((PUSHORT)(DeviceExtension->RegBase + HDAC_WAKE_ENABLE)) & ~HDAC_WAKE_ENABLE_MASK;
         WRITE_REGISTER_USHORT((PUSHORT)(DeviceExtension->RegBase + HDAC_WAKE_ENABLE), Value);
 
         // Enable controller interrupts