diff options
Diffstat (limited to 'kernel/resource.c')
| -rw-r--r-- | kernel/resource.c | 11 | 
1 files changed, 4 insertions, 7 deletions
diff --git a/kernel/resource.c b/kernel/resource.c index da14b8d09296..60c5a3856ab7 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -351,15 +351,12 @@ static int find_next_iomem_res(struct resource *res, char *name,  	end = res->end;  	BUG_ON(start >= end); -	read_lock(&resource_lock); - -	if (first_level_children_only) { -		p = iomem_resource.child; +	if (first_level_children_only)  		sibling_only = true; -	} else -		p = &iomem_resource; -	while ((p = next_resource(p, sibling_only))) { +	read_lock(&resource_lock); + +	for (p = iomem_resource.child; p; p = next_resource(p, sibling_only)) {  		if (p->flags != res->flags)  			continue;  		if (name && strcmp(p->name, name))  |