@@ -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);
@@ -2959,10 +2963,13 @@ static void acpi_nfit_scrub(struct work_struct *work)
list_for_each_entry(nfit_spa, &acpi_desc->spas, list) {
if (nfit_spa->ars_state == NFIT_ARS_STATE_IDLE) {
- dev_dbg(dev, "range %d set 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 set for ARS\n",
+ nfit_spa->spa->range_index);
+ nfit_spa->ars_state =
+ NFIT_ARS_STATE_REQUESTED;
+ ars_needed++;
+ }
}
}
Adding a kernel module parameter no_start_ars in order to bypass kernel initiating scrubbing ARS. Signed-off-by: Dave Jiang <dave.jiang@intel.com> --- drivers/acpi/nfit/core.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-)