Fix incorrect generatorID shifting
generatorID is an address or a software ID in the upper seven bits
followed by bit-0 of a 1 (for software ID) or a 0 for address. This
means that the address is effectively an 8-bit address, if bit-0 is 0.
This change removes the right shifting to fix comparisons to 8-bit
addresses done in the code.
Change-Id: Ia386596ad1ce7f15ef4dca446b5c4fc778dbb8e8
Signed-off-by: Vernon Mauery <vernon.mauery@linux.intel.com>
diff --git a/src/ipmi_to_redfish_hooks.cpp b/src/ipmi_to_redfish_hooks.cpp
index f4c2fa5..feee538 100644
--- a/src/ipmi_to_redfish_hooks.cpp
+++ b/src/ipmi_to_redfish_hooks.cpp
@@ -839,7 +839,6 @@
uint8_t generatorIDLowByte = static_cast<uint8_t>(selData.generatorID);
// Generator ID is 7 bit and LS Bit contains '1' or '0' depending on the
// source. Refer IPMI SPEC, Table 32, SEL Event Records.
- generatorIDLowByte >>= 1;
switch (generatorIDLowByte)
{
case 0x01: // Check if this message is from the BIOS Generator ID
diff --git a/src/sensorcommands.cpp b/src/sensorcommands.cpp
index ffb0e84..91a83b8 100644
--- a/src/sensorcommands.cpp
+++ b/src/sensorcommands.cpp
@@ -424,7 +424,7 @@
generatorID, evmRev, sensorType, sensorNum, eventType, eventData1,
eventData2.value_or(0xFF), eventData3.value_or(0xFF));
- if (((generatorID & 0xFF) >> 1) == meId && sensorNum == meSensorNum &&
+ if (static_cast<uint8_t>(generatorID) == meId && sensorNum == meSensorNum &&
eventData2 && eventData3)
{
setMeStatus(*eventData2, *eventData3, (eventType & disabled));