Skip to content

Commit

Permalink
iwlwifi: mvm: implement approved list for the PPAG feature
Browse files Browse the repository at this point in the history
We should only allow PPAG to be enabled by OEMs that are in the
approved list.  In order to do this, we need to compare the system
vendor string retrieved from SMBIOS to a list maintained in the
driver.  If the vendor string is not in the list, we don't allow PPAG
to be used.

For now the list is empty, but entries will be added to it
individually, in subsequent patches.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210131201908.c9d35b7d8748.I4e4cf61d8fa6ff91d9b0cab2b1ec9ede4be346f5@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
  • Loading branch information
Luca Coelho committed Feb 5, 2021
1 parent efaa85c commit a2ac0f4
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions drivers/net/wireless/intel/iwlwifi/mvm/fw.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
*/
#include <net/mac80211.h>
#include <linux/netdevice.h>
#include <linux/dmi.h>

#include "iwl-trans.h"
#include "iwl-op-mode.h"
Expand Down Expand Up @@ -1043,6 +1044,9 @@ int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm)
return ret;
}

static const struct dmi_system_id dmi_ppag_approved_list[] = {
};

static int iwl_mvm_ppag_init(struct iwl_mvm *mvm)
{
int ret;
Expand All @@ -1054,6 +1058,15 @@ static int iwl_mvm_ppag_init(struct iwl_mvm *mvm)
ret);
return 0;
}

if (!dmi_check_system(dmi_ppag_approved_list)) {
IWL_DEBUG_RADIO(mvm,
"System vendor '%s' is not in the approved list, disabling PPAG.\n",
dmi_get_system_info(DMI_SYS_VENDOR));
mvm->fwrt.ppag_table.v1.enabled = cpu_to_le32(0);
return 0;
}

return iwl_mvm_ppag_send_cmd(mvm);
}

Expand Down

0 comments on commit a2ac0f4

Please sign in to comment.