]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - drivers/nvdimm/namespace_devs.c
Merge remote-tracking branches 'regulator/topic/fan53555', 'regulator/topic/lp3971...
[mirror_ubuntu-hirsute-kernel.git] / drivers / nvdimm / namespace_devs.c
index 9edf7eb7d17cc39713e67e4dd62d4e16c0d93e07..f5cb886013591bfa384fc5f19d95eb823ee1e1c3 100644 (file)
@@ -133,6 +133,7 @@ bool nd_is_uuid_unique(struct device *dev, u8 *uuid)
 bool pmem_should_map_pages(struct device *dev)
 {
        struct nd_region *nd_region = to_nd_region(dev->parent);
+       struct nd_namespace_io *nsio;
 
        if (!IS_ENABLED(CONFIG_ZONE_DEVICE))
                return false;
@@ -143,6 +144,12 @@ bool pmem_should_map_pages(struct device *dev)
        if (is_nd_pfn(dev) || is_nd_btt(dev))
                return false;
 
+       nsio = to_nd_namespace_io(dev);
+       if (region_intersects(nsio->res.start, resource_size(&nsio->res),
+                               IORESOURCE_SYSTEM_RAM,
+                               IORES_DESC_NONE) == REGION_MIXED)
+               return false;
+
 #ifdef ARCH_MEMREMAP_PMEM
        return ARCH_MEMREMAP_PMEM == MEMREMAP_WB;
 #else