Use a tighter check to see if a resource allocation request is for a

specific request and thus should first try to be allocated from the
sys_resource pool.  This avoids using the sys_resource pool for wildcard
requests that have bounded ranges coming from cbb(4) and Host-PCI pcib(4)
drivers.

Tested by:	Andrea Bittau <a.bittau of cs.ucl.ac.uk fame>
Sleuthing by:	Andrea Bittau as well
This commit is contained in:
John Baldwin 2007-04-25 16:22:18 +00:00
parent 5e323541db
commit 147c0ad0a1

View File

@ -1034,7 +1034,7 @@ acpi_alloc_resource(device_t bus, device_t child, int type, int *rid,
* the request from our system resource regions. If we can't, pass the
* request up to the parent.
*/
if (!(start == 0UL && end == ~0UL) && rm != NULL)
if (start + count - 1 == end && rm != NULL)
res = rman_reserve_resource(rm, start, end, count, flags & ~RF_ACTIVE,
child);
if (res == NULL) {