svn commit: r217639 - head/sys/powerpc/powermac
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Thu Jan 20 15:02:51 UTC 2011
Author: nwhitehorn
Date: Thu Jan 20 15:02:51 2011
New Revision: 217639
URL: http://svn.freebsd.org/changeset/base/217639
Log:
Correct parsing of the cpcht ranges property.
Submitted by: andreast
MFC after: 2 weeks
Modified:
head/sys/powerpc/powermac/cpcht.c
Modified: head/sys/powerpc/powermac/cpcht.c
==============================================================================
--- head/sys/powerpc/powermac/cpcht.c Thu Jan 20 13:53:34 2011 (r217638)
+++ head/sys/powerpc/powermac/cpcht.c Thu Jan 20 15:02:51 2011 (r217639)
@@ -282,7 +282,7 @@ cpcht_configure_htbridge(device_t dev, p
{
struct cpcht_softc *sc;
struct ofw_pci_register pcir;
- struct cpcht_range ranges[6], *rp;
+ struct cpcht_range ranges[7], *rp;
int nranges, ptr, nextptr;
uint32_t vend, val;
int i, nirq, irq;
@@ -306,9 +306,10 @@ cpcht_configure_htbridge(device_t dev, p
*/
bzero(ranges, sizeof(ranges));
nranges = OF_getprop(child, "ranges", ranges, sizeof(ranges));
+ nranges /= sizeof(ranges[0]);
ranges[6].pci_hi = 0;
- for (rp = ranges; rp->pci_hi != 0; rp++) {
+ for (rp = ranges; rp < ranges + nranges && rp->pci_hi != 0; rp++) {
switch (rp->pci_hi & OFW_PCI_PHYS_HI_SPACEMASK) {
case OFW_PCI_PHYS_HI_SPACE_CONFIG:
break;
More information about the svn-src-all
mailing list