Re: HPET regression in 2.6.26 versus 2.6.25 -- found another user with the same regression

Ingo Molnar
2008-08-23T15:56:32Z

* David Witbrodt <dawitbro@sbcglobal.net> wrote:

> for (;;) {
> tmp = *p;
> if (!tmp || tmp->start > end) {
> +insert:
> new->sibling = tmp;
> *p = new;
> new->parent = root;
> @@ -164,7 +165,10 @@ static struct resource * __request_resource(struct resource *root, struct resour
> p = &tmp->sibling;
> if (tmp->end < start)
> 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;

sorry about that, my first patch was more broken than i thought (it will
basically hang on _any_ box), please try the second patch.

Note how the above hack code does a stupid goto, and 'p' is updated for
the next loop iteration already. The second version of the debug patch
only updates 'p' in the 'continue' case and will hopefully get you much
further into bootup!

Ingo