aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorMarius Strobl <marius@FreeBSD.org>2012-06-27 22:17:52 +0000
committerMarius Strobl <marius@FreeBSD.org>2012-06-27 22:17:52 +0000
commita6c8226584cad1e383ff0ade83fc4fecc7fbbd36 (patch)
treeddac2f6fb79bf20b7a682c7b9912881e8fef257f /sys/dev/pci
parent49ce68b36949057b77d54417d1cd5dc28aa24e3a (diff)
Notes
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/pci_pci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c
index 9dc72ef089c05..6d058c41ac10a 100644
--- a/sys/dev/pci/pci_pci.c
+++ b/sys/dev/pci/pci_pci.c
@@ -1038,7 +1038,7 @@ pcib_alloc_resource(device_t dev, device_t child, int type, int *rid,
case SYS_RES_IOPORT:
r = pcib_suballoc_resource(sc, &sc->io, child, type, rid, start,
end, count, flags);
- if (r != NULL)
+ if (r != NULL || (sc->flags & PCIB_SUBTRACTIVE) != 0)
break;
if (pcib_grow_window(sc, &sc->io, type, start, end, count,
flags) == 0)
@@ -1062,7 +1062,7 @@ pcib_alloc_resource(device_t dev, device_t child, int type, int *rid,
}
r = pcib_suballoc_resource(sc, &sc->mem, child, type, rid,
start, end, count, flags);
- if (r != NULL)
+ if (r != NULL || (sc->flags & PCIB_SUBTRACTIVE) != 0)
break;
if (flags & RF_PREFETCHABLE) {
if (pcib_grow_window(sc, &sc->pmem, type, start, end,