In cases where an application issues certain IPMI commands at a high

enough rate, the IPMI code can print large numbers of messages to the
console, such as:
  ipmi0: KCS: Failed to read completion code
  ipmi0: KCS error: ff
  ipmi0: KCS: Failed to read completion code
  ipmi0: KCS error: ff

These seem to be innocuous from a system standpoint, and the user-
space code can deal with the failures. Therefore, suppress printing
these messages to the console unless bootverbose is enabled.

Obtained from:	Netflix, Inc.
This commit is contained in:
Jonathan T. Looney 2018-04-06 15:15:21 +00:00
parent 98c5f9884e
commit 74800c5a08

View File

@ -150,7 +150,7 @@ kcs_error(struct ipmi_softc *sc)
/* Read error status */
data = INB(sc, KCS_DATA);
if (data != 0)
if (data != 0 && (data != 0xff || bootverbose))
device_printf(sc->ipmi_dev, "KCS error: %02x\n",
data);
@ -416,8 +416,10 @@ kcs_polled_request(struct ipmi_softc *sc, struct ipmi_request *req)
/* Next we read the completion code. */
if (kcs_read_byte(sc, &req->ir_compcode) != 1) {
device_printf(sc->ipmi_dev,
"KCS: Failed to read completion code\n");
if (bootverbose) {
device_printf(sc->ipmi_dev,
"KCS: Failed to read completion code\n");
}
goto fail;
}
#ifdef KCS_DEBUG