git: 2e16618fe789 - main - ipmi: fix runtime on powerpc64le

From: Piotr Kubaj <pkubaj_at_FreeBSD.org>
Date: Thu, 27 Mar 2025 13:19:18 UTC
The branch main has been updated by pkubaj:

URL: https://cgit.FreeBSD.org/src/commit/?id=2e16618fe789f110bd8d297b1c65b166fa60c2fe

commit 2e16618fe789f110bd8d297b1c65b166fa60c2fe
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2025-03-27 11:55:48 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2025-03-27 11:57:28 +0000

    ipmi: fix runtime on powerpc64le
    
    Summary:
    OPAL runs in big-endian mode, so we need to byteswap msg_len on little-endian.
    
    MFC after:      1 week
    
    Test Plan: ipmitool lan print
    
    Reviewers: #powerpc
    
    Subscribers: imp
    
    Differential Revision: https://reviews.freebsd.org/D49530
---
 sys/dev/ipmi/ipmi_opal.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/dev/ipmi/ipmi_opal.c b/sys/dev/ipmi/ipmi_opal.c
index ae7583a0d749..0393dd92cc53 100644
--- a/sys/dev/ipmi/ipmi_opal.c
+++ b/sys/dev/ipmi/ipmi_opal.c
@@ -93,6 +93,7 @@ opal_ipmi_recv(struct opal_ipmi_softc *sc, uint64_t *msg_len, int timo)
 		opal_call(OPAL_POLL_EVENTS, NULL);
 		err = opal_call(OPAL_IPMI_RECV, sc->sc_interface,
 		    vtophys(sc->sc_msg), vtophys(msg_len));
+		*msg_len = be64toh(*msg_len);
 		if (err != OPAL_EMPTY)
 			break;