diff options
Diffstat (limited to 'kernel/resource.c')
-rw-r--r-- | kernel/resource.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/resource.c b/kernel/resource.c index 76036a41143b..22d78b6d5c48 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; } |