Date: Fri, 13 Jul 2007 11:53:14 -0700 From: Julian Elischer <julian@elischer.org> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-current@freebsd.org, current@freebsd.org, "M. Warner Losh" <imp@bsdimp.com> Subject: Re: fun fun fun. no networking Message-ID: <4697CA1A.9060700@elischer.org> In-Reply-To: <200707130907.37295.jhb@freebsd.org> References: <4659DAD1.9040609@elischer.org> <20070527.235832.-267226920.imp@bsdimp.com> <200707130907.37295.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
John Baldwin wrote:
> You can try this perhaps:
thanks, but it came to life again a few days later..
(I guess something else changed..)
>
> --- //depot/vendor/freebsd/src/sys/dev/acpica/acpi.c 2007/05/08 14:37:51
> +++ //depot/user/jhb/acpipci/dev/acpica/acpi.c 2007/05/08 22:28:25
> @@ -1030,17 +1030,18 @@
> }
>
> /*
> - * If this is an allocation of a specific range, see if we can satisfy
> - * the request from our system resource regions. If we can't, pass the
> - * request up to the parent.
> + * Try to pass the request up to our parent first. If that
> + * doesn't work, then see if we can satisfy the request via a
> + * suballocation from our system resource regions.
> */
> - if (start + count - 1 == end && rm != NULL)
> + res = BUS_ALLOC_RESOURCE(device_get_parent(bus), child, type, rid,
> + start, end, count, flags);
> + if (res == NULL && rm != NULL) {
> res = rman_reserve_resource(rm, start, end, count, flags & ~RF_ACTIVE,
> child);
> - if (res == NULL) {
> - res = BUS_ALLOC_RESOURCE(device_get_parent(bus), child, type, rid,
> - start, end, count, flags);
> - } else {
> + if (res == NULL)
> + goto out;
> +
> rman_set_rid(res, *rid);
>
> /* If requested, activate the resource using the parent's method. */
>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4697CA1A.9060700>
