FAILED: patch "[PATCH] nfit: skip region registration for incomplete control regions" failed to apply to 4.9-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
0731de476a37c33485af82d64041c9d193208df8Mon Sep 17 00:00:00 2001
From: Dan Williams <[email protected]>
Date: Wed, 21 Mar 2018 21:22:34 -0700
Subject: [PATCH] nfit: skip region registration for incomplete control regions
Per the ACPI specification the only functional purpose for a DIMM Control Region to be mapped into the system physical address space, from an OSPM perspective, is to support block-apertures. However, there are some BIOSen that publish DIMM Control Region SPA entries for pre-boot environment consumption. Undo the kernel policy of generating disabled 'ndblk' regions when this configuration is detected.
drivers/acpi/nfit/core.c +6 -7
@@ -2578,7 +2578,7 @@ static int acpi_nfit_init_mapping(struct acpi_nfit_desc *acpi_desc,struct acpi_nfit_system_address *spa = nfit_spa->spa;struct nd_blk_region_desc *ndbr_desc;struct nfit_mem *nfit_mem; -int blk_valid =0 , rc; +int rc;if (!nvdimm) { dev_err(acpi_desc->dev, "spa%d dimm: %#x not found\n",
@@ -2598,15 +2598,14 @@ static int acpi_nfit_init_mapping(struct acpi_nfit_desc *acpi_desc,if (!nfit_mem || !nfit_mem->bdw) {dev_dbg (acpi_desc->dev,"spa%d %s missing bdw\n" , spa->range_index,nvdimm_name (nvdimm)); - }else { - mapping->size = nfit_mem->bdw->capacity; - mapping->start = nfit_mem->bdw->start_address; - ndr_desc->num_lanes = nfit_mem->bdw->windows; - blk_valid =1 ; +break ; } + mapping->size = nfit_mem->bdw->capacity; + mapping->start = nfit_mem->bdw->start_address; + ndr_desc->num_lanes = nfit_mem->bdw->windows; ndr_desc->mapping = mapping; - ndr_desc->num_mappings = blk_valid; + ndr_desc->num_mappings =1 ; ndbr_desc =to_blk_region_desc (ndr_desc); ndbr_desc->enable = acpi_nfit_blk_region_enable; ndbr_desc->do_io = acpi_desc->blk_do_io;