mei: Do not attempt to parse HFSTS6 when using TXT

It seems the MEI parameters are not set for platforms such as Apollo Lake.
The only bit set was FPF_SOC_LOCK, with the others all cleared to zero.

Fixes https://github.com/fwupd/fwupd/issues/2335 for a peculiar definition of 'fix'.
This commit is contained in:
Richard Hughes 2020-09-07 09:26:31 +01:00
parent 45fbc50f8d
commit d19aff3df1

View File

@ -264,6 +264,10 @@ fu_plugin_add_security_attrs_bootguard_enabled (FuPlugin *plugin, FuSecurityAttr
FuPluginData *priv = fu_plugin_get_data (plugin);
g_autoptr(FwupdSecurityAttr) attr = NULL;
/* not supported */
if (priv->family == FU_MEI_FAMILY_TXE)
return;
/* create attr */
attr = fwupd_security_attr_new (FWUPD_SECURITY_ATTR_ID_INTEL_BOOTGUARD_ENABLED);
fwupd_security_attr_set_plugin (attr, fu_plugin_get_name (plugin));
@ -288,6 +292,10 @@ fu_plugin_add_security_attrs_bootguard_verified (FuPlugin *plugin, FuSecurityAtt
FuPluginData *priv = fu_plugin_get_data (plugin);
g_autoptr(FwupdSecurityAttr) attr = NULL;
/* not supported */
if (priv->family == FU_MEI_FAMILY_TXE)
return;
/* disabled */
if (priv->hfsts6.fields.boot_guard_disable)
return;
@ -316,6 +324,10 @@ fu_plugin_add_security_attrs_bootguard_acm (FuPlugin *plugin, FuSecurityAttrs *a
FuPluginData *priv = fu_plugin_get_data (plugin);
g_autoptr(FwupdSecurityAttr) attr = NULL;
/* not supported */
if (priv->family == FU_MEI_FAMILY_TXE)
return;
/* disabled */
if (priv->hfsts6.fields.boot_guard_disable)
return;
@ -343,6 +355,10 @@ fu_plugin_add_security_attrs_bootguard_policy (FuPlugin *plugin, FuSecurityAttrs
FuPluginData *priv = fu_plugin_get_data (plugin);
g_autoptr(FwupdSecurityAttr) attr = NULL;
/* not supported */
if (priv->family == FU_MEI_FAMILY_TXE)
return;
/* disabled */
if (priv->hfsts6.fields.boot_guard_disable)
return;
@ -371,6 +387,10 @@ fu_plugin_add_security_attrs_bootguard_otp (FuPlugin *plugin, FuSecurityAttrs *a
FuPluginData *priv = fu_plugin_get_data (plugin);
g_autoptr(FwupdSecurityAttr) attr = NULL;
/* not supported */
if (priv->family == FU_MEI_FAMILY_TXE)
return;
/* disabled */
if (priv->hfsts6.fields.boot_guard_disable)
return;