acpi/nfit: Fix command-supported detection
authorDan Williams <dan.j.williams@intel.com>
Sat, 19 Jan 2019 18:55:04 +0000 (10:55 -0800)
committerDan Williams <dan.j.williams@intel.com>
Mon, 21 Jan 2019 17:58:31 +0000 (09:58 -0800)
commit11189c1089da413aa4b5fd6be4c4d47c78968819
tree4773db1efb7bc89f0470d72a958b89eb44f55c1d
parent5e9e38d0db1d29efed1dd4cf9a70115d33521be7
acpi/nfit: Fix command-supported detection

The _DSM function number validation only happens to succeed when the
generic Linux command number translation corresponds with a
DSM-family-specific function number. This breaks NVDIMM-N
implementations that correctly implement _LSR, _LSW, and _LSI, but do
not happen to publish support for DSM function numbers 4, 5, and 6.

Recall that the support for _LS{I,R,W} family of methods results in the
DIMM being marked as supporting those command numbers at
acpi_nfit_register_dimms() time. The DSM function mask is only used for
ND_CMD_CALL support of non-NVDIMM_FAMILY_INTEL devices.

Fixes: 31eca76ba2fc ("nfit, libnvdimm: limited/whitelisted dimm command...")
Cc: <stable@vger.kernel.org>
Link: https://github.com/pmem/ndctl/issues/78
Reported-by: Sujith Pandel <sujith_pandel@dell.com>
Tested-by: Sujith Pandel <sujith_pandel@dell.com>
Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/acpi/nfit/core.c