meta-gbmc-staging: entity-manager: fru-device: Fix
We found there's always missing one last byte in every multiarea record
being calculated, leading to the checksum failure occur when that byte
is a non-zero value coincidentally.
Fix the `fruBytesIterEndArea` for a correct range of the multiarea to
calculate the checksum.
Tested: busctl tree xyz.openbmc_project.FruDevice `- /xyz
`- /xyz/openbmc_project
`- /xyz/openbmc_project/FruDevice
|- /xyz/openbmc_project/FruDevice/0_84
|- /xyz/openbmc_project/FruDevice/1_84
|- /xyz/openbmc_project/FruDevice/2_84
|- /xyz/openbmc_project/FruDevice/4_81
|- /xyz/openbmc_project/FruDevice/70_83 /* PM1753 */
|- /xyz/openbmc_project/FruDevice/72_83 /* PM1753_0 */
|- /xyz/openbmc_project/FruDevice/7450
|- /xyz/openbmc_project/FruDevice/74_83
...
|- /xyz/openbmc_project/FruDevice/Endurance_eMMC_PCBA
|- /xyz/openbmc_project/FruDevice/Granite_ReduxRD
|- /xyz/openbmc_project/FruDevice/Granite_ReduxRD_0
|- /xyz/openbmc_project/FruDevice/Granite_ReduxRD_1
`- /xyz/openbmc_project/FruDevice/PM1743
[After this change] busctl tree xyz.openbmc_project.FruDevice └─ /xyz
└─ /xyz/openbmc_project
└─ /xyz/openbmc_project/FruDevice
├─ /xyz/openbmc_project/FruDevice/0_84
├─ /xyz/openbmc_project/FruDevice/1_84
├─ /xyz/openbmc_project/FruDevice/2_84
├─ /xyz/openbmc_project/FruDevice/4_81
├─ /xyz/openbmc_project/FruDevice/7450
...
├─ /xyz/openbmc_project/FruDevice/Endurance_eMMC_PCBA
├─ /xyz/openbmc_project/FruDevice/Granite_ReduxRD
├─ /xyz/openbmc_project/FruDevice/Granite_ReduxRD_0
├─ /xyz/openbmc_project/FruDevice/Granite_ReduxRD_1
├─ /xyz/openbmc_project/FruDevice/PM1743
├─ /xyz/openbmc_project/FruDevice/PM1753
└─ /xyz/openbmc_project/FruDevice/PM1753_0
Fusion-Link:
https://fusion2.corp.google.com/4fafaf6a-c125-3279-a41f-0989d09b1d52
(platform11 ext)
https://fusion2.corp.google.com/14797a13-b8c1-33f2-999d-cca6c280cc39
(failed one test but the machine has that microcode without the change
https://paste.googleplex.com/5359065083150336)
https://fusion2.corp.google.com/018bc723-776a-3a0c-967c-154739cf3cbe
(platform5)
https://fusion2.corp.google.com/60f3a908-7f16-3ce0-899a-5d290c4f0933
(platform15)
https://fusion2.corp.google.com/372ad68f-4df2-3c47-9758-ad623d0e696e
(platform17)
Google-Bug-Id: 413426029
Change-Id: I51a1de3de65e4397191bcd946d640d9716aaa948
Signed-off-by: Chiang Brian <chiang.brian@inventec.corp-partner.google.com>
1 file changed