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 > _at__at_ -1030,17 +1030,18 _at__at_ > } > > /* > - * 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. */ >Received on Fri Jul 13 2007 - 16:52:57 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:14 UTC