aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/resource.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/resource.c')
-rw-r--r--kernel/resource.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/resource.c b/kernel/resource.c
index b0fbf685c77a..915c02e8e5dd 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -1256,6 +1256,21 @@ int release_mem_region_adjustable(struct resource *parent,
1256 continue; 1256 continue;
1257 } 1257 }
1258 1258
1259 /*
1260 * All memory regions added from memory-hotplug path have the
1261 * flag IORESOURCE_SYSTEM_RAM. If the resource does not have
1262 * this flag, we know that we are dealing with a resource coming
1263 * from HMM/devm. HMM/devm use another mechanism to add/release
1264 * a resource. This goes via devm_request_mem_region and
1265 * devm_release_mem_region.
1266 * HMM/devm take care to release their resources when they want,
1267 * so if we are dealing with them, let us just back off here.
1268 */
1269 if (!(res->flags & IORESOURCE_SYSRAM)) {
1270 ret = 0;
1271 break;
1272 }
1273
1259 if (!(res->flags & IORESOURCE_MEM)) 1274 if (!(res->flags & IORESOURCE_MEM))
1260 break; 1275 break;
1261 1276