As it is today, we can't enable or test new functions in firmware without changing the kernel.
With this patch we allow function 0 for the HPE DSM families, as is already allowed with the MS family. We now only restrict the functions to the currently documented set if the module parameter "disable_vendor_specific" is set. Since the module parameter description says "Limit commands to the publicly specified set", this approach seems correct. Signed-off-by: Linda Knippers <[email protected]> --- drivers/acpi/nfit/core.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c index 7361d00..b80d4d9 100644 --- a/drivers/acpi/nfit/core.c +++ b/drivers/acpi/nfit/core.c @@ -1407,11 +1407,13 @@ static int acpi_nfit_add_dimm(struct acpi_nfit_desc *acpi_desc, if (disable_vendor_specific) dsm_mask &= ~(1 << ND_CMD_VENDOR); } else if (nfit_mem->family == NVDIMM_FAMILY_HPE1) { - dsm_mask = 0x1c3c76; + dsm_mask = 0xffffffff; + if (disable_vendor_specific) + dsm_mask &= ~(0x1c3c77); } else if (nfit_mem->family == NVDIMM_FAMILY_HPE2) { - dsm_mask = 0x1fe; + dsm_mask = 0xffffffff; if (disable_vendor_specific) - dsm_mask &= ~(1 << 8); + dsm_mask &= ~(0x0ff); } else if (nfit_mem->family == NVDIMM_FAMILY_MSFT) { dsm_mask = 0xffffffff; } else { -- 1.8.3.1 _______________________________________________ Linux-nvdimm mailing list [email protected] https://lists.01.org/mailman/listinfo/linux-nvdimm
