diff options
author | Evgeny Zinoviev <me@ch1p.io> | 2021-02-06 22:15:50 +0300 |
---|---|---|
committer | Evgeny Zinoviev <me@ch1p.io> | 2021-02-07 01:50:12 +0300 |
commit | 30646b281fc8f1885af0346174194d4381ec01b6 (patch) | |
tree | 9bc410e4b0984fad1a2dc574335412badb02d17c /src | |
parent | 4c4becadc82344e4ad939fe1303f6ebd89e945d0 (diff) |
medisable: try to read SET ME ENABLE RESPONSE
Diffstat (limited to 'src')
-rw-r--r-- | src/southbridge/intel/bd82x6x/me_common.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/southbridge/intel/bd82x6x/me_common.c b/src/southbridge/intel/bd82x6x/me_common.c index e229956607..76c0cecdf0 100644 --- a/src/southbridge/intel/bd82x6x/me_common.c +++ b/src/southbridge/intel/bd82x6x/me_common.c @@ -471,6 +471,8 @@ void exit_soft_temp_disable_wait(struct device *dev) { struct me_hfs hfs; struct stopwatch sw; + struct mkhi_header mkhi; + u32 resp; stopwatch_init_msecs_expire(&sw, ME_ENABLE_TIMEOUT); @@ -485,11 +487,21 @@ void exit_soft_temp_disable_wait(struct device *dev) break; } while (!stopwatch_expired(&sw)); - if (!hfs.fw_init_complete) + if (!hfs.fw_init_complete) { printk(BIOS_ERR, "ME: giving up on waiting for fw_init_complete\n"); - else - printk(BIOS_NOTICE, "ME: took %lums to complete initialization\n", - stopwatch_duration_msecs(&sw)); + return; + } + + printk(BIOS_NOTICE, "ME: took %lums to complete initialization\n", + stopwatch_duration_msecs(&sw)); + + int result = mei_recv_msg(&mkhi, &resp, sizeof(resp)); + printk(BIOS_NOTICE, "ME: SET ME ENABLE RESPONSE: resp=%08x\n", resp); + + if (result < 0 || resp != MKHI_DISABLE_RULE_ID) { + printk(BIOS_ERR, "ME: failed to read SET ME ENABLE RESPONSE\n"); + return; + } } #endif |