Adding a kernel module parameter no_start_ars in order to bypass kernel initiating scrubbing ARS.
Signed-off-by: Dave Jiang <dave.ji...@intel.com> --- drivers/acpi/nfit/core.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c index 32670b82fbfc..fa4023ffa022 100644 --- a/drivers/acpi/nfit/core.c +++ b/drivers/acpi/nfit/core.c @@ -55,6 +55,10 @@ module_param(default_dsm_family, int, S_IRUGO); MODULE_PARM_DESC(default_dsm_family, "Try this DSM type first when identifying NVDIMM family"); +static int no_start_ars = 0; +module_param(no_start_ars, int, S_IRUGO); +MODULE_PARM_DESC(no_start_ars, "Disable kernel from initiate ARS at boot"); + LIST_HEAD(acpi_descs); DEFINE_MUTEX(acpi_desc_lock); @@ -2962,10 +2966,13 @@ static void acpi_nfit_scrub(struct work_struct *work) * we'll just go ahead and register the region. */ if (!acpi_desc->init_complete) { - dev_dbg(dev, "Range %d requested for ARS\n", - nfit_spa->spa->range_index); - nfit_spa->ars_state = NFIT_ARS_STATE_REQUESTED; - ars_needed++; + if (!no_start_ars) { + dev_dbg(dev, "Range %d requested for ARS\n", + nfit_spa->spa->range_index); + nfit_spa->ars_state = + NFIT_ARS_STATE_REQUESTED; + ars_needed++; + } } else { acpi_nfit_register_region(acpi_desc, nfit_spa); dev_dbg(dev, "Range %d register region\n", _______________________________________________ Linux-nvdimm mailing list Linux-nvdimm@lists.01.org https://lists.01.org/mailman/listinfo/linux-nvdimm