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>