Add a workaround for the BCM4706's dangling core region EROM entries.

Approved by:	adrian (mentor, implicit)
This commit is contained in:
Landon J. Fuller 2017-03-23 22:12:14 +00:00
parent f0574f5cf6
commit 5658bc0a95
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=315872

View File

@ -1344,6 +1344,19 @@ bcma_erom_next_corecfg(struct bcma_erom *erom, struct bcma_corecfg **result)
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);