Closed Kostr closed 2 years ago
Isn't this basically the same issue as #1?
I think this is fixed by https://github.com/openbmc/entity-manager/commit/f805bafb4dacc629c2b7da0fda90f3fd950d9b07.
I've had multiple reports that the aforementioned commit has fixed this issue. I'm closing; If there are reports of systems for which this fix doesn't work, please comment here and I'll reopen, or file it as a new bug.
AMD EthanolX CRB has 24LC128 EEPROM for its FRU data. This EEPROM is a 16-bit device. And it is not getting probed correctly if the EEPROM driver is not predeclared in the devicetree file or the driver is not initialized manually:
The error comes from a fact that without a binded driver
isDevice16Bit
function (https://github.com/openbmc/entity-manager/blob/7af0c2709f98f47778beeb91175e1d125d370747/src/FruDevice.cpp#L197) returns 0 for this EEPROM andfru-device
tries to parse it as a 8-bit EEPROM. TheisDevice16Bit
function was initially added in the commit https://github.com/openbmc/entity-manager/commit/2d681f6fdec02b2f56d9155117c4830703026cb0 But apparently it does not work well for all 16-bit EEPROMs.