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
tree: 8ff3d4b20c76a4ccd1bb918205ef4f20f7a9c5a2
  1. classes/
  2. conf/
  3. dynamic-layers/
  4. recipes-bsp/
  5. recipes-connectivity/
  6. recipes-core/
  7. recipes-devtools/
  8. recipes-extended/
  9. recipes-google/
  10. recipes-kernel/
  11. recipes-phosphor/
  12. recipes-support/
  13. recipes-tpm1/
  14. recipes-tpm2/
  15. LICENSE
  16. README.md
README.md

meta-gbmc-staging

This repository contains additions to the openbmc/meta-google layer that are not yet ready for OpenBMC inclusion.

How to use this layer

  1. Clone openbmc/openbmc from GitHub.
  2. Clone this layer from GitHub into a subdirectory of openbmc.