smbiosmdrv2handler:Fix for MDRV2 get data info
Issue: Mdrv2 get data set info response giving as 0xce which is
incorrect.
Fix: Update MDRiiGetDataInfoResponse structure definition as per IPMI
OEM commands documentation and provided fix to get correct response
as provided in test results.
Tested:
Verified using ipmitool raw commands.
Before:
Command: ipmitool raw 0x3e 0x39 0x01 0x01 //SMMDR Data Set Info Offer
Response: 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 42
//SMMDR Get Data Set Info command
Command: ipmitool raw 0x3e 0x32 0x01 0x01 0x28 0x29 0x2a 0x2b 0x2c 0x2d
0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x42
Response: Unable to send RAW command (channel=0x0 netfn=0x3e lun=0x0
cmd=0x32 rsp=0xce): Command response could not be provided
After:
Command: ipmitool raw 0x3e 0x39 0x01 0x01 //SMMDR Data Set Info Offer
Response: 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 42
//SMMDR Get Data Set Info command
Command: ipmitool raw 0x3e 0x32 0x01 0x01 0x28 0x29 0x2a 0x2b 0x2c 0x2d
0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x42
Response: 02 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36
42 01 00 00 11 45 0f 00 00 7a 1b
Signed-off-by: jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Change-Id: Ia23f1cf19608281dc98e971f9c5e84c7dde4ba61
diff --git a/src/smbiosmdrv2handler.cpp b/src/smbiosmdrv2handler.cpp
index 52cd78f..e0d1159 100644
--- a/src/smbiosmdrv2handler.cpp
+++ b/src/smbiosmdrv2handler.cpp
@@ -447,7 +447,7 @@
sdbusplus::message::message method = bus->new_method_call(
service.c_str(), mdrv2Path, mdrv2Interface, "GetDataInformation");
- method.append(idIndex);
+ method.append(static_cast<uint8_t>(idIndex));
std::vector<uint8_t> res;
try