Hi Dan, On 12-Jan-19 5:29 AM, Dan Williams wrote:
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@xxxxxxxxxxxxxxx> Link: https://github.com/pmem/ndctl/issues/78 Reported-by: Sujith Pandel <sujith_pandel@xxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> --- Sujith, this is a larger change than what you originally tested, but it should behave the same. I wanted to consolidate all the code that handles Linux command number to DIMM _DSM function number translation. If you have a chance to re-test with this it would be much appreciated. Thanks for the report!
Re-verified by applying this patch over LTS kernel-4.20.2 with ndctl v62. namespace creation and modification works fine on Dell NVDIMM-Ns. Thanks for helping me on this! Tested-by: Sujith Pandel <sujith_pandel@xxxxxxxx>