mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 18:47:22 +00:00
lan: channel: Fix set alert on/off
From IPMI Spec, Chapter 22.22 Set Channel Access Command Table 22, Set Channel Access Command Byte#2, Bit#5 is "PEF Alerting Enable/Disable" And the bit value: 0b = enable PEF Alerting 1b = disable PEF Alerting on this channel In current code, alert "on" set Bit#5 to 1 and alert "off" set Bit#5 to 0, it's straightforward but just opposite of IPMI spec bit definition. Resolves ipmitool/ipmitool#247 Reported-by: Ryan Fang <Ryan.Fang@quantatw.com> Signed-off-by: Alexander Amelkin <alexander@amelkin.msk.ru>
This commit is contained in:
parent
9328748672
commit
4b791f8bf6
@ -89,10 +89,16 @@ struct channel_info_t {
|
||||
uint8_t aux_info[2];
|
||||
};
|
||||
|
||||
/* (22.23) Get Channel Access */
|
||||
|
||||
/* (22.22 / 22.23) Set/Get Channel Access */
|
||||
typedef enum {
|
||||
ALERTING_ENABLED = 0,
|
||||
ALERTING_DISABLED = (1 << 5) /* See Table 22 */
|
||||
} alerting_t;
|
||||
|
||||
struct channel_access_t {
|
||||
uint8_t access_mode;
|
||||
uint8_t alerting;
|
||||
alerting_t alerting;
|
||||
uint8_t channel;
|
||||
uint8_t per_message_auth;
|
||||
uint8_t privilege_limit;
|
||||
|
@ -1026,10 +1026,10 @@ ipmi_set_alert_enable(struct ipmi_intf *intf, uint8_t channel, uint8_t enable)
|
||||
channel);
|
||||
return (-1);
|
||||
}
|
||||
if (enable != 0) {
|
||||
channel_access.alerting = 1;
|
||||
if (enable) {
|
||||
channel_access.alerting = ALERTING_ENABLED;
|
||||
} else {
|
||||
channel_access.alerting = 0;
|
||||
channel_access.alerting = ALERTING_DISABLED;
|
||||
}
|
||||
/* non-volatile */
|
||||
ccode = _ipmi_set_channel_access(intf, channel_access, 1, 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user