diff -r 65f2d62d7838 -r 2129ccee0bd1 Hardware/LPC/W836XX.cs --- a/Hardware/LPC/W836XX.cs Wed Aug 04 19:10:20 2010 +0000 +++ b/Hardware/LPC/W836XX.cs Wed Aug 04 20:27:05 2010 +0000 @@ -194,6 +194,8 @@ public float?[] Fans { get { return fans; } } public void Update() { + if (!WinRing0.WaitIsaBusMutex()) + return; for (int i = 0; i < voltages.Length; i++) { if (voltageRegister[i] != VOLTAGE_VBAT_REG) { @@ -279,6 +281,8 @@ if (oldByte != newByte) WriteByte(0, FAN_BIT_REG[i], newByte); } + + WinRing0.ReleaseIsaBusMutex(); } public string GetReport() { @@ -290,6 +294,10 @@ r.Append("Chip revision: 0x"); r.AppendLine(revision.ToString("X")); r.Append("Base Adress: 0x"); r.AppendLine(address.ToString("X4")); r.AppendLine(); + + if (!WinRing0.WaitIsaBusMutex()) + return r.ToString(); + r.AppendLine("Hardware Monitor Registers"); r.AppendLine(); r.AppendLine(" 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F"); @@ -316,6 +324,8 @@ } r.AppendLine(); + WinRing0.ReleaseIsaBusMutex(); + return r.ToString(); } }