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