)]}'
{
  "commit": "6098ff2fa1af943c5ee91c803fe6e8e76694981b",
  "tree": "ea65de7e24d804c25d423abe5e511aadfffec864",
  "parents": [
    "2c1f4d33eb125bd8aed06d40915124c810d3c57d"
  ],
  "author": {
    "name": "Manojkiran Eda",
    "email": "manojkiran.eda@gmail.com",
    "time": "Mon Jul 06 14:22:31 2026 +0530"
  },
  "committer": {
    "name": "ManojKiran Eda",
    "email": "manojkiran.eda@gmail.com",
    "time": "Thu Sep 03 06:21:41 2026 +0000"
  },
  "message": "bios: On DBus failure fall back to persisted value\n\nWhen building the BIOS attribute/value tables at startup,\nbuildAndStoreAttrTables() reads the BaseBIOSTable property from\nbios-settings-manager and passes the stored currentValue to each\nattribute\u0027s constructEntry() as optAttributeValue.\n\nFor attributes backed by a D-Bus property (dBusMap is set), the live\nD-Bus value is the ground truth and should be preferred.  However, if\nthe D-Bus read fails (e.g. the object has not yet appeared on the bus),\nthe correct fallback is the last known persisted value from\nBaseBIOSTable.\n\nFix all three attribute types (integer, string, enum) by adding an\noptional persisted value into the getAttrValue() / getAttrValueIndex()\nhelpers.  The priority order is now:\n\n  1. Live D-Bus value   (when dBusMap is set and the read succeeds)\n  2. Persisted value    (optAttributeValue from BaseBIOSTable)\n  3. JSON default       (last resort)\n\nNon-D-Bus attributes (no dBusMap) follow the same priority 2 \u0026 3 path\nthey always did.\n\nChange-Id: I4c1f52bbd47712846b59e0b25619369b4e0f4a6d\nSigned-off-by: Manojkiran Eda \u003cmanojkiran.eda@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0ea636a03be93a5f6a6491d9156de6309c522119",
      "old_mode": 33188,
      "old_path": "libpldmresponder/bios_enum_attribute.cpp",
      "new_id": "3be76c827f4155a24334e7a959bbdfbcee7ec2db",
      "new_mode": 33188,
      "new_path": "libpldmresponder/bios_enum_attribute.cpp"
    },
    {
      "type": "modify",
      "old_id": "459abda2266e56cce29f19906f9789de1e79bd29",
      "old_mode": 33188,
      "old_path": "libpldmresponder/bios_enum_attribute.hpp",
      "new_id": "8bf5c770c27c2f6a3dbe250938c9ecd4452ef21b",
      "new_mode": 33188,
      "new_path": "libpldmresponder/bios_enum_attribute.hpp"
    },
    {
      "type": "modify",
      "old_id": "c19d633170620cccf72670eb2eb25fdc01b12913",
      "old_mode": 33188,
      "old_path": "libpldmresponder/bios_integer_attribute.cpp",
      "new_id": "36ad13ac42f8f6d1230bc9a66cffec43f27189c7",
      "new_mode": 33188,
      "new_path": "libpldmresponder/bios_integer_attribute.cpp"
    },
    {
      "type": "modify",
      "old_id": "6ed9c6bceeb9abeca129a0a3ca01179a8d80ccec",
      "old_mode": 33188,
      "old_path": "libpldmresponder/bios_integer_attribute.hpp",
      "new_id": "446ab4b7b3b6f54c1ed34c4179701a0c212d7cfd",
      "new_mode": 33188,
      "new_path": "libpldmresponder/bios_integer_attribute.hpp"
    },
    {
      "type": "modify",
      "old_id": "88ea911943e738eb47e31b9f86074f8bdb18de4f",
      "old_mode": 33188,
      "old_path": "libpldmresponder/bios_string_attribute.cpp",
      "new_id": "f4e22c3f23cb4c8f66bf43d8024f6af203f697b3",
      "new_mode": 33188,
      "new_path": "libpldmresponder/bios_string_attribute.cpp"
    },
    {
      "type": "modify",
      "old_id": "5e65595400e5a6ae2bc863702e5a786c26b9daa6",
      "old_mode": 33188,
      "old_path": "libpldmresponder/bios_string_attribute.hpp",
      "new_id": "18be953e6151e83de951f5cf3cb097e7270f5161",
      "new_mode": 33188,
      "new_path": "libpldmresponder/bios_string_attribute.hpp"
    }
  ]
}
