please use the replacement debug patch below. (the previous one was
buggy, it would likely lock up because it iterated incorrectly.)
[ and i'd also like to stress that this isnt a solution, this is a debug
hack that can lead to a solution. ]
Ingo
-------------->
From dc1c9cafd20edacb14e902c5ee72547f14c12545 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@elte.hu>
Date: Sat, 23 Aug 2008 15:33:51 +0200
Subject: [PATCH] debug: ignore resource conflicts
---
kernel/resource.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/kernel/resource.c b/kernel/resource.c
index f5b518e..45877ec 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -156,15 +156,19 @@ static struct resource * __request_resource(struct resource *root, struct resour
for (;;) {
tmp = *p;
if (!tmp || tmp->start > end) {
+insert:
new->sibling = tmp;
*p = new;
new->parent = root;
return NULL;
}
- p = &tmp->sibling;
- if (tmp->end < start)
+ if (tmp->end < start) {
+ p = &tmp->sibling;
continue;
- return tmp;
+ }
+ printk("ignoring resource conflict between %s/{%p..%p} and %s/{%p..%p}\n", new->name, (void *)new->start, (void *)new->end, tmp->name, (void *)tmp->start, (void *)tmp->end);
+ WARN_ON(1);
+ goto insert;
}
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html