diff options
-rw-r--r-- | drivers/acpi/nfit/core.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c index c8ea9d698cd0..6bc784bd0828 100644 --- a/drivers/acpi/nfit/core.c +++ b/drivers/acpi/nfit/core.c | |||
@@ -51,6 +51,10 @@ module_param(disable_vendor_specific, bool, S_IRUGO); | |||
51 | MODULE_PARM_DESC(disable_vendor_specific, | 51 | MODULE_PARM_DESC(disable_vendor_specific, |
52 | "Limit commands to the publicly specified set\n"); | 52 | "Limit commands to the publicly specified set\n"); |
53 | 53 | ||
54 | static unsigned long override_dsm_mask; | ||
55 | module_param(override_dsm_mask, ulong, S_IRUGO); | ||
56 | MODULE_PARM_DESC(override_dsm_mask, "Bitmask of allowed NVDIMM DSM functions"); | ||
57 | |||
54 | LIST_HEAD(acpi_descs); | 58 | LIST_HEAD(acpi_descs); |
55 | DEFINE_MUTEX(acpi_desc_lock); | 59 | DEFINE_MUTEX(acpi_desc_lock); |
56 | 60 | ||
@@ -1402,7 +1406,9 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, | |||
1402 | 1406 | ||
1403 | /* limit the supported commands to those that are publicly documented */ | 1407 | /* limit the supported commands to those that are publicly documented */ |
1404 | nfit_mem->family = i; | 1408 | nfit_mem->family = i; |
1405 | if (nfit_mem->family == NVDIMM_FAMILY_INTEL) { | 1409 | if (override_dsm_mask && !disable_vendor_specific) |
1410 | dsm_mask = override_dsm_mask; | ||
1411 | else if (nfit_mem->family == NVDIMM_FAMILY_INTEL) { | ||
1406 | dsm_mask = 0x3fe; | 1412 | dsm_mask = 0x3fe; |
1407 | if (disable_vendor_specific) | 1413 | if (disable_vendor_specific) |
1408 | dsm_mask &= ~(1 << ND_CMD_VENDOR); | 1414 | dsm_mask &= ~(1 << ND_CMD_VENDOR); |