[Skiboot] [PATCH] hw/bt.c: Retry sending ipmi message in bt with correct data

Mamatha Inamdar mamatha4 at linux.vnet.ibm.com
Tue Feb 23 01:43:03 AEDT 2016


When bt times out reading data from BMC, it will retry sending same command,
but while retrying it's failing to send the correct data to BMC.

This patch will send the correct data while retrying the sent message.

before fix:
IPMIMain: [693 WARNING][corecmdselect.c:913]Request: Channel:f; Netfn:a; Cmd:11; Data:0 0 0 ff
IPMIMain: [693 WARNING][corecmdselect.c:913]Request: Channel:f; Netfn:3f; Cmd:ff; Data:ff ff ff ff ff ff 
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 
ff ff ff ff ff ff ff ff f

After Fix:

2693:Feb 19 09:21:21 AMIA0423F306276 IPMIMain: [693 WARNING][corecmdselect.c:913]Request: Channel:f; Netfn:a; Cmd:11; Data:0 0 0 ff
2695:Feb 19 09:21:21 AMIA0423F306276 IPMIMain: [693 WARNING][corecmdselect.c:913]Request: Channel:f; Netfn:a; Cmd:11; Data:0 0 0 ff

Cc: stable
Signed-off-by: Mamatha Inamdar <mamatha4 at linux.vnet.ibm.com>
---
 hw/bt.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hw/bt.c b/hw/bt.c
index df4a4f0..e4266f6 100644
--- a/hw/bt.c
+++ b/hw/bt.c
@@ -397,10 +397,10 @@ static void bt_expire_old_msg(uint64_t tb)
 			doing anything. The data will still be in the
 			FIFO so just reset the flag.*/
 			BT_Q_ERR(bt_msg, "Retry sending message");
-			bt_msg->send_count++;
-
 			bt_msg->tb = tb;
-			bt_outb(BT_CTRL_H2B_ATN, BT_CTRL);
+
+			/* retry sending ipmi_msg */
+			bt_send_msg(bt_msg);
 		} else {
 			BT_Q_ERR(bt_msg, "Timeout sending message");
 			bt_msg_del(bt_msg);



More information about the Skiboot mailing list