Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Mar 2017 22:12:14 +0000 (UTC)
From:      "Landon J. Fuller" <landonf@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r315872 - head/sys/dev/bhnd/bcma
Message-ID:  <201703232212.v2NMCEuS038170@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: landonf
Date: Thu Mar 23 22:12:14 2017
New Revision: 315872
URL: https://svnweb.freebsd.org/changeset/base/315872

Log:
  Add a workaround for the BCM4706's dangling core region EROM entries.
  
  Approved by:	adrian (mentor, implicit)

Modified:
  head/sys/dev/bhnd/bcma/bcma_erom.c

Modified: head/sys/dev/bhnd/bcma/bcma_erom.c
==============================================================================
--- head/sys/dev/bhnd/bcma/bcma_erom.c	Thu Mar 23 22:06:06 2017	(r315871)
+++ head/sys/dev/bhnd/bcma/bcma_erom.c	Thu Mar 23 22:12:14 2017	(r315872)
@@ -1344,6 +1344,19 @@ bcma_erom_next_corecfg(struct bcma_erom 
 			goto failed;
 	}
 
+	/*
+	 * Seek to the next core entry (if any), skipping any dangling/invalid
+	 * region entries.
+	 * 
+	 * On the BCM4706, the EROM entry for the memory controller core
+	 * (0x4bf/0x52E) contains a dangling/unused slave wrapper port region
+	 * descriptor.
+	 */
+	if ((error = bcma_erom_seek_next(erom, BCMA_EROM_ENTRY_TYPE_CORE))) {
+		if (error != ENOENT)
+			goto failed;
+	}
+
 	*result = cfg;
 	return (0);
 	



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703232212.v2NMCEuS038170>