[Skiboot] [PATCH] platform: set default bmc_platform
Oliver O'Halloran
oohall at gmail.com
Fri Jan 13 15:33:41 AEDT 2017
The bmc_platform pointer is set to NULL by default and on non-AMI BMC
platforms. As a result a few places in hw/ipmi/ipmi-sel.c will blindly
dereference a NULL pointer.
This patch sets the default value for bmc_platform to generic_bmc to
avoid this.
Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
---
core/platform.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/core/platform.c b/core/platform.c
index bde3932d3cc1..1cae06915d65 100644
--- a/core/platform.c
+++ b/core/platform.c
@@ -28,7 +28,6 @@
bool manufacturing_mode = false;
struct platform platform;
-const struct bmc_platform *bmc_platform = NULL;
DEFINE_LOG_ENTRY(OPAL_RC_ABNORMAL_REBOOT, OPAL_PLATFORM_ERR_EVT, OPAL_CEC,
OPAL_CEC_HARDWARE, OPAL_PREDICTIVE_ERR_FAULT_RECTIFY_REBOOT,
@@ -143,10 +142,15 @@ static struct platform generic_platform = {
.cec_power_down = generic_cec_power_down,
};
+const struct bmc_platform *bmc_platform = &generic_bmc;
+
void set_bmc_platform(const struct bmc_platform *bmc)
{
if (bmc)
prlog(PR_NOTICE, "PLAT: Detected BMC platform %s\n", bmc->name);
+ else
+ bmc = &generic_bmc;
+
bmc_platform = bmc;
}
--
2.7.4
More information about the Skiboot
mailing list