git: 8660752908a2 - stable/13 - iwlwifi: disable more MEI (Management Engine) code

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Wed, 08 Jun 2022 17:07:08 UTC
The branch stable/13 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=8660752908a25d31f70f363aa89ca34deca36781

commit 8660752908a25d31f70f363aa89ca34deca36781
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2022-06-04 16:18:58 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2022-06-08 16:11:18 +0000

    iwlwifi: disable more MEI (Management Engine) code
    
    It is unclear why this hasn't bothered anyone in months; I can only assume
    optimization levels but it seems there were unresolved symbols in
    iwlwifi after d9836fb4b9380e2ed1c38455fb31a3832b452671:
    link_elf_obj: symbol iwl_mvm_send_roaming_forbidden_event undefined
    
    Hide more of the currently unsupported (GPL-only) MEI (Management Engine)
    code behind #ifdef to avoid this.
    
    Reported by:    dchagin
    Tested by:      dchagin
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 75c779fb279c2bea90c08e275af5937213bdca81)
---
 sys/contrib/dev/iwlwifi/mvm/ops.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/sys/contrib/dev/iwlwifi/mvm/ops.c b/sys/contrib/dev/iwlwifi/mvm/ops.c
index 64bc3adbd8fc..0978504b11cd 100644
--- a/sys/contrib/dev/iwlwifi/mvm/ops.c
+++ b/sys/contrib/dev/iwlwifi/mvm/ops.c
@@ -969,6 +969,7 @@ static const struct iwl_dump_sanitize_ops iwl_mvm_sanitize_ops = {
 	.frob_mem = iwl_mvm_frob_mem,
 };
 
+#if IS_ENABLED(CONFIG_IWLMEI)
 static void iwl_mvm_me_conn_status(void *priv, const struct iwl_mei_conn_info *conn_info)
 {
 	struct iwl_mvm *mvm = priv;
@@ -1014,6 +1015,7 @@ static void iwl_mvm_mei_roaming_forbidden(void *priv, bool forbidden)
 
 	iwl_mvm_send_roaming_forbidden_event(mvm, mvm->csme_vif, forbidden);
 }
+#endif
 
 static void iwl_mvm_sap_connected_wk(struct work_struct *wk)
 {
@@ -1047,6 +1049,7 @@ out_free:
 	ieee80211_free_hw(mvm->hw);
 }
 
+#if IS_ENABLED(CONFIG_IWLMEI)
 static void iwl_mvm_mei_sap_connected(void *priv)
 {
 	struct iwl_mvm *mvm = priv;
@@ -1071,6 +1074,7 @@ static const struct iwl_mei_ops mei_ops = {
 	.sap_connected = iwl_mvm_mei_sap_connected,
 	.nic_stolen = iwl_mvm_mei_nic_stolen,
 };
+#endif
 
 static struct iwl_op_mode *
 iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
@@ -1336,7 +1340,11 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
 
 	mvm->debugfs_dir = dbgfs_dir;
 
+#if IS_ENABLED(CONFIG_IWLMEI)
 	mvm->mei_registered = !iwl_mei_register(mvm, &mei_ops);
+#else
+	mvm->mei_registered = false;
+#endif
 
 	if (iwl_mvm_start_get_nvm(mvm)) {
 		/*