Closed kerneis-anssi closed 3 years ago
The following patch works around the issue for me, demonstrating that it comes from SPD.detect()
(which reads the SMBus). Obviously, it's not a proper fix:
diff --git a/chipsec/modules/common/spd_wd.py b/chipsec/modules/common/spd_wd.py
index 1530c4a..03e0ea9 100644
--- a/chipsec/modules/common/spd_wd.py
+++ b/chipsec/modules/common/spd_wd.py
@@ -66,12 +66,11 @@ class spd_wd(BaseModule):
spd_wd_reg = self.cs.read_register( 'SMBUS_HCFG' )
spd_wd = self.cs.get_register_field( 'SMBUS_HCFG', spd_wd_reg, 'SPD_WD' )
- dimms = _spd.detect()
-
if 1 == spd_wd:
self.logger.log_passed_check( "SPD Write Disable is set" )
self.res = ModuleResult.PASSED
else:
+ dimms = _spd.detect()
if dimms:
self.logger.log_failed_check( "SPD Write Disable is not set and SPDs were detected" )
self.res = ModuleResult.FAILED
Some logs without the above patch and with --hal
flag.
Change makes sense. #1266 captures the changes at least until I can take a look at the _spd.detect()
.
Running module common.spd_wd has the effect of breaking the Synaptic touchpad on my Lenovo x280. The only way I found to restore it is to reboot the laptop. Chipset and kernel logs below. I'd be happy to provide more debug information if you tell me what could be useful.