X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=kernel%2Fresource.c;h=82aea814d409731e7804d6e553330465d6ab72d9;hb=05dda977f2574c3341abef9b74c27d2b362e1e3a;hp=a358142ff48f34ca2dd0653f8bb1fc7c6f2c3fe0;hpb=fe537c0ee86b27fbe0690a7869815da80f492dbd;p=deliverable%2Flinux.git diff --git a/kernel/resource.c b/kernel/resource.c index a358142ff48f..82aea814d409 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -228,7 +228,7 @@ int release_resource(struct resource *old) EXPORT_SYMBOL(release_resource); -#ifdef CONFIG_MEMORY_HOTPLUG +#if defined(CONFIG_MEMORY_HOTPLUG) && !defined(CONFIG_ARCH_HAS_WALK_MEMORY) /* * Finds the lowest memory reosurce exists within [res->start.res->end) * the caller must specify res->start, res->end, res->flags. @@ -277,7 +277,7 @@ walk_memory_resource(unsigned long start_pfn, unsigned long nr_pages, void *arg, int ret = -1; res.start = (u64) start_pfn << PAGE_SHIFT; res.end = ((u64)(start_pfn + nr_pages) << PAGE_SHIFT) - 1; - res.flags = IORESOURCE_MEM; + res.flags = IORESOURCE_MEM | IORESOURCE_BUSY; orig_end = res.end; while ((res.start < res.end) && (find_next_system_ram(&res) >= 0)) { pfn = (unsigned long)(res.start >> PAGE_SHIFT);