Dan Gora
2016-07-28 21:15:27 UTC
The Pigeon Point Systems IPMI code only supports a maximum payload
data size of 37 bytes over the payload serial, KCS, SMB and LAN
interfaces, so we need to limit the maximum request size to 37 bytes
in the openIPMI plugin to prevent the KCS interface from overflowing
and stalling when HPM1 upgrades are performed.
diff --git a/src/plugins/open/open.c b/src/plugins/open/open.c
index 5beeac7..87cc7f4 100644
--- a/src/plugins/open/open.c
+++ b/src/plugins/open/open.c
@@ -69,12 +69,15 @@
#endif
/**
- * Maximum input message size for KCS/SMIC is 40 with 2 utility bytes and
- * 38 bytes of data.
+ * Maximum size of a message sent via the payload interface should
+ * be big enough for bridging SMBus 2.0 Write Block with PEC (35 bytes)
+ * using the Master Write-Read command (2 bytes)
* Maximum input message size for BT is 42 with 4 utility bytes and
* 38 bytes of data.
+ * PPS IPMI code enforces this limit of 37 bytes over the
+ * serial, KCS, SMB and LAN interfaces.
*/
-#define IPMI_OPENIPMI_MAX_RQ_DATA_SIZE 38
+#define IPMI_OPENIPMI_MAX_RQ_DATA_SIZE 37
/**
* Maximum output message size for KCS/SMIC is 38 with 2 utility bytes, a byte
------------------------------------------------------------------------------
data size of 37 bytes over the payload serial, KCS, SMB and LAN
interfaces, so we need to limit the maximum request size to 37 bytes
in the openIPMI plugin to prevent the KCS interface from overflowing
and stalling when HPM1 upgrades are performed.
diff --git a/src/plugins/open/open.c b/src/plugins/open/open.c
index 5beeac7..87cc7f4 100644
--- a/src/plugins/open/open.c
+++ b/src/plugins/open/open.c
@@ -69,12 +69,15 @@
#endif
/**
- * Maximum input message size for KCS/SMIC is 40 with 2 utility bytes and
- * 38 bytes of data.
+ * Maximum size of a message sent via the payload interface should
+ * be big enough for bridging SMBus 2.0 Write Block with PEC (35 bytes)
+ * using the Master Write-Read command (2 bytes)
* Maximum input message size for BT is 42 with 4 utility bytes and
* 38 bytes of data.
+ * PPS IPMI code enforces this limit of 37 bytes over the
+ * serial, KCS, SMB and LAN interfaces.
*/
-#define IPMI_OPENIPMI_MAX_RQ_DATA_SIZE 38
+#define IPMI_OPENIPMI_MAX_RQ_DATA_SIZE 37
/**
* Maximum output message size for KCS/SMIC is 38 with 2 utility bytes, a byte
------------------------------------------------------------------------------