diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-08-07 09:16:35 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-08-07 09:16:35 -0400 |
commit | ad73c67e792c752ddc99f2b0587abae05255dd6d (patch) | |
tree | e33d5d37a8c56b6fad753fa2d481f43cfb60ae1d /kernel/resource.c | |
parent | 08eac93a689ca05c7b7413f6d362c7d38b5fd5b1 (diff) | |
parent | 9f737633e6ee54fc174282d49b2559bd2208391d (diff) | |
download | op-kernel-dev-ad73c67e792c752ddc99f2b0587abae05255dd6d.zip op-kernel-dev-ad73c67e792c752ddc99f2b0587abae05255dd6d.tar.gz |
Merge branch 'master'
Diffstat (limited to 'kernel/resource.c')
-rw-r--r-- | kernel/resource.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/kernel/resource.c b/kernel/resource.c index 0dd3a85..4628643 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -244,6 +244,7 @@ int find_next_system_ram(struct resource *res) start = res->start; end = res->end; + BUG_ON(start >= end); read_lock(&resource_lock); for (p = iomem_resource.child; p ; p = p->sibling) { @@ -254,15 +255,17 @@ int find_next_system_ram(struct resource *res) p = NULL; break; } - if (p->start >= start) + if ((p->end >= start) && (p->start < end)) break; } read_unlock(&resource_lock); if (!p) return -1; /* copy data */ - res->start = p->start; - res->end = p->end; + if (res->start < p->start) + res->start = p->start; + if (res->end > p->end) + res->end = p->end; return 0; } #endif |