CXL 3.2 Spec mentions CXL LSA 2.1 Namespace Labels at section
9.13.2.5. If Namespace label is present in LSA during
nvdimm_probe() then dimm-physical-address(DPA) reservation is
required. But this reservation is not required by cxl region
label. Therefore if LSA scanning finds any region label, skip it.

Reviewed-by: Dave Jiang <[email protected]>
Signed-off-by: Neeraj Kumar <[email protected]>
---
 drivers/nvdimm/label.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c
index 9854cb45fb62..169692dfa12c 100644
--- a/drivers/nvdimm/label.c
+++ b/drivers/nvdimm/label.c
@@ -469,6 +469,14 @@ int nd_label_reserve_dpa(struct nvdimm_drvdata *ndd)
                lsa_label = to_lsa_label(ndd, slot);
                nd_label = &lsa_label->ns_label;
 
+               /*
+                * Skip region label. If LSA label is region label
+                * then it don't require dimm-physical-address(DPA)
+                * reservation. Whereas its required for namespace label
+                */
+               if (is_region_label(ndd, lsa_label))
+                       continue;
+
                if (!slot_valid(ndd, lsa_label, slot))
                        continue;
 
-- 
2.34.1


Reply via email to