From owner-freebsd-current@FreeBSD.ORG Fri Jul 13 18:52:57 2007 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 85E9116A400 for ; Fri, 13 Jul 2007 18:52:57 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outU.internet-mail-service.net (outU.internet-mail-service.net [216.240.47.244]) by mx1.freebsd.org (Postfix) with ESMTP id 723BD13C481 for ; Fri, 13 Jul 2007 18:52:57 +0000 (UTC) (envelope-from julian@elischer.org) Received: from mx0.idiom.com (HELO idiom.com) (216.240.32.160) by out.internet-mail-service.net (qpsmtpd/0.32) with ESMTP; Fri, 13 Jul 2007 11:52:56 -0700 Received: from julian-mac.elischer.org (nat.ironport.com [63.251.108.100]) by idiom.com (Postfix) with ESMTP id 7650D125A27; Fri, 13 Jul 2007 11:52:56 -0700 (PDT) Message-ID: <4697CA1A.9060700@elischer.org> Date: Fri, 13 Jul 2007 11:53:14 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.4 (Macintosh/20070604) MIME-Version: 1.0 To: John Baldwin References: <4659DAD1.9040609@elischer.org> <20070527.235832.-267226920.imp@bsdimp.com> <200707130907.37295.jhb@freebsd.org> In-Reply-To: <200707130907.37295.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-current@freebsd.org, current@freebsd.org, "M. Warner Losh" Subject: Re: fun fun fun. no networking X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jul 2007 18:52:57 -0000 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. */ >