diff options
Diffstat (limited to 'chassishandler.cpp')
-rw-r--r-- | chassishandler.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/chassishandler.cpp b/chassishandler.cpp index 04bbffe..2ad9948 100644 --- a/chassishandler.cpp +++ b/chassishandler.cpp @@ -1190,6 +1190,7 @@ ipmi_ret_t ipmi_chassis_identify(ipmi_netfn_t netfn, ipmi_cmd_t cmd, DEFAULT_IDENTIFY_TIME_OUT; bool forceIdentify = (*data_len == chassisIdentifyReqLength) ? (static_cast<uint8_t*>(request))[forceIdentifyPos] & 0x01 : false; + if (identifyInterval || forceIdentify) { // stop the timer if already started, for force identify we should @@ -1214,6 +1215,11 @@ ipmi_ret_t ipmi_chassis_identify(ipmi_netfn_t netfn, ipmi_cmd_t cmd, std::chrono::seconds(identifyInterval)); identifyTimer->startTimer(time); } + else if (!identifyInterval) + { + identifyTimer->setTimer(SD_EVENT_OFF); + enclosureIdentifyLedOff(); + } return IPMI_CC_OK; } |