lkml.org 
[lkml]   [2021]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] ipmi: ssif: Add msleep in multipart test
Date
During multipart test, cmd(6,7,8) or cmd(6,7,7) will
be sent continuously.

The pressure test found some BMC systems cannot process
messages in time, resulting in read_response continues to receive
error messages from i2c.
Retry mechanism will takes 10s, and finally set not support
multipart transmit.

So, to work around this,add msleep after sending cmd 6 and
cmd 7 respectively. The problem did not appear again in
pressure test.

Signed-off-by: Kunkun Li <likunkun@bytedance.com>
---
drivers/char/ipmi/ipmi_ssif.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index 20d5af92966d..65841798fafe 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -1453,6 +1453,7 @@ static int start_multipart_test(struct i2c_client *client,
ret = i2c_smbus_write_block_data(client,
SSIF_IPMI_MULTI_PART_REQUEST_START,
32, msg);
+ msleep(SSIF_MSG_MSEC);
if (ret) {
retry_cnt--;
if (retry_cnt > 0)
@@ -1467,6 +1468,7 @@ static int start_multipart_test(struct i2c_client *client,
ret = i2c_smbus_write_block_data(client,
SSIF_IPMI_MULTI_PART_REQUEST_MIDDLE,
32, msg + 32);
+ msleep(SSIF_MSG_MSEC);
if (ret) {
dev_err(&client->dev, "Could not write multi-part middle, though the BMC said it could handle it. Just limit sends to one part.\n");
return ret;
--
2.11.0
\
 
 \ /
  Last update: 2021-10-26 04:58    [W:0.044 / U:1.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site