Either the I/O port range or the memory mapped I/O range may not be

defined in the FDT. The range will have a zero size in that case.
This commit is contained in:
Marcel Moolenaar 2012-05-24 21:01:35 +00:00
parent a45d9127bd
commit 05917fee1b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=235933

View File

@ -816,8 +816,13 @@ fsl_pcib_set_range(struct fsl_pcib_softc *sc, int type, int wnd, u_long start,
}
*allocp = pci_start + alloc;
*vap = (uintptr_t)pmap_mapdev(start, size);
fsl_pcib_outbound(sc, wnd, type, start, size, pci_start);
if (size > 0) {
*vap = (uintptr_t)pmap_mapdev(start, size);
fsl_pcib_outbound(sc, wnd, type, start, size, pci_start);
} else {
*vap = 0;
fsl_pcib_outbound(sc, wnd, -1, 0, 0, 0);
}
return (0);
}