提交 1480ce35 编写于 作者: L Laibin Qiu 提交者: Yang Yingliang

ipmi_si: Phytium S2500 missing timeout counter reset in intf_mem_inw

phytium inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I4RK58
CVE: NA

--------------------------------

The system would hang up when the Phytium S2500 communicates with
some BMCs after several rounds of transactions, unless we reset
the controller timeout counter manually by calling firmware through
SMC.
The reset in intf_mem_inw was missed previously.

Fixes: 88f04d8b ("ipmi_si: Phytium S2500 workaround for MMIO-based IPMI")
Signed-off-by: NLaibin Qiu <qiulaibin@huawei.com>
Reviewed-by: NZheng Zengkai <zhengzengkai@huawei.com>
Reviewed-by: NXie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 e52cfc05
......@@ -84,6 +84,8 @@ static void intf_mem_outb(const struct si_sm_io *io, unsigned int offset,
static unsigned char intf_mem_inw(const struct si_sm_io *io,
unsigned int offset)
{
ipmi_phytium_workaround();
return (readw((io->addr)+(offset * io->regspacing)) >> io->regshift)
& 0xff;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册