| commit | d934be9d4b441994e62a4f31094cd20188a69246 | [log] [tgz] |
|---|---|---|
| author | Thang Tran <thuutran@amperecomputing.com> | Wed Dec 08 10:13:50 2021 +0700 |
| committer | Ed Tanous <ed@tanous.net> | Thu Jan 06 16:50:48 2022 +0000 |
| tree | 90dba0da4bc56bc8790903bc7e076f053c870436 | |
| parent | f93da667b58b67cf61d06dcc5862d9864c96d8e7 [diff] |
dbus-sdr: Reset last device ID to 0xff when writing done
Issue: when requests to write incorrect FRU data via "ipmitool fru 0
<binFile>" command, this request returns a fail result. Request to read
FRU information via "ipmitool fru print 0" and "busctl introspect
xyz.openbmc_project.FruDevice <FruPath>" commands:
- Expect result: FRU information from 2 of commands are old FRU data
- Actual result: FRU information from 2 of commnads are different.
+ "busctl introspect xyz.openbmc_project.FruDevice <FruPath>"
return old FRU data as expectation.
+ "ipmitool fru print 0" return new FRU data, this is incorrect
behavior.
Root cause: When the written data is incorrect data, it will not be
wrote to FRU device. But dbus-sdr stored FruCache as written data.
Therefore, when users request to read FRU information as written device
ID, dbus-sdr returns FruCache data without reads data via dbus method
(in this time, FruCache is including incorrect data).
Solution: Reset last device ID to 0xff when writing done.
Tested:
1. Request to read FRU information
ipmitool fru print 0
2. Request to write incorrect FRU data
ipmitool fru 0 write <binFile>
3. Request to read FRU information
ipmitool fru print 0
The result as step 1.
Signed-off-by: Thang Tran <thuutran@amperecomputing.com>
Change-Id: I5a55640d0f111a12965966588f9bbeab4aa286ba
To build this package, do the following steps:
1. ./bootstrap.sh
2. ./configure ${CONFIGURE_FLAGS}
3. make
To clean the repository run ./bootstrap.sh clean.