svn commit: r269769 - head/sys/dev/ofw
Ian Lepore
ian at FreeBSD.org
Sun Aug 10 00:23:58 UTC 2014
Author: ian
Date: Sun Aug 10 00:23:57 2014
New Revision: 269769
URL: http://svnweb.freebsd.org/changeset/base/269769
Log:
Use a separate variable for resource id, because 'i' may increment at a
rate greater than 1 on each iteration.
Modified:
head/sys/dev/ofw/ofwbus.c
Modified: head/sys/dev/ofw/ofwbus.c
==============================================================================
--- head/sys/dev/ofw/ofwbus.c Sun Aug 10 00:03:40 2014 (r269768)
+++ head/sys/dev/ofw/ofwbus.c Sun Aug 10 00:23:57 2014 (r269769)
@@ -438,7 +438,7 @@ ofwbus_setup_dinfo(device_t dev, phandle
uint32_t *reg, *intr, icells;
uint64_t phys, size;
phandle_t iparent;
- int i, j;
+ int i, j, rid;
int nintr;
int nreg;
@@ -467,7 +467,7 @@ ofwbus_setup_dinfo(device_t dev, phandle
nreg = 0;
}
- for (i = 0; i < nreg; i += sc->acells + sc->scells) {
+ for (i = 0, rid = 0; i < nreg; i += sc->acells + sc->scells, rid++) {
phys = size = 0;
for (j = 0; j < sc->acells; j++) {
phys <<= 32;
@@ -479,7 +479,7 @@ ofwbus_setup_dinfo(device_t dev, phandle
}
/* Skip the dummy reg property of glue devices like ssm(4). */
if (size != 0)
- resource_list_add(&ndi->ndi_rl, SYS_RES_MEMORY, i,
+ resource_list_add(&ndi->ndi_rl, SYS_RES_MEMORY, rid,
phys, phys + size - 1, size);
}
free(reg, M_OFWPROP);
@@ -492,10 +492,10 @@ ofwbus_setup_dinfo(device_t dev, phandle
sizeof(iparent));
OF_searchencprop(OF_xref_phandle(iparent), "#interrupt-cells",
&icells, sizeof(icells));
- for (i = 0; i < nintr; i+= icells) {
+ for (i = 0, rid = 0; i < nintr; i += icells, rid++) {
intr[i] = ofw_bus_map_intr(dev, iparent, icells,
&intr[i]);
- resource_list_add(&ndi->ndi_rl, SYS_RES_IRQ, i, intr[i],
+ resource_list_add(&ndi->ndi_rl, SYS_RES_IRQ, rid, intr[i],
intr[i], 1);
}
free(intr, M_OFWPROP);
More information about the svn-src-head
mailing list