aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/resource.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/resource.c')
-rw-r--r--kernel/resource.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/resource.c b/kernel/resource.c
index 841737bbda9e..4d471379b54b 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -388,6 +388,14 @@ static int find_next_iomem_res(resource_size_t start, resource_size_t end,
res->desc = p->desc;
}
+ if (p) {
+ /* copy data */
+ res->start = max(start, p->start);
+ res->end = min(end, p->end);
+ res->flags = p->flags;
+ res->desc = p->desc;
+ }
+
read_unlock(&resource_lock);
return p ? 0 : -ENODEV;
}