Skip to content

Commit f4d0279

Browse files
committed
cxl: Fix match_region_by_range() to use region_res_match_cxl_range()
match_region_by_range() is not using the helper function that also takes extended linear cache size into account when comparing regions. This causes a x2 region to show up as 2 partial incomplete regions rather than a single CXL region with extended linear cache support. Replace the open coded compare logic with the proper helper function for comparison. User visible impact is that when 'cxl list' is issued, no activa CXL region(s) are shown. There may be multiple idle regions present. No actual active CXL region is present in the kernel. [dj: Fix stable address] Fixes: 0ec9849 ("acpi/hmat / cxl: Add extended linear cache support for CXL") Cc: stable@vger.kernel.org Reviewed-by: Gregory Price <gourry@gourry.net> Reviewed-by: Alison Schofield <alison.schofield@intel.com> Reviewed-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
1 parent 0f6f198 commit f4d0279

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed

drivers/cxl/core/region.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3398,10 +3398,7 @@ static int match_region_by_range(struct device *dev, const void *data)
33983398
p = &cxlr->params;
33993399

34003400
guard(rwsem_read)(&cxl_rwsem.region);
3401-
if (p->res && p->res->start == r->start && p->res->end == r->end)
3402-
return 1;
3403-
3404-
return 0;
3401+
return region_res_match_cxl_range(p, r);
34053402
}
34063403

34073404
static int cxl_extended_linear_cache_resize(struct cxl_region *cxlr,

0 commit comments

Comments
 (0)