From 727bebb095c589860008ab41310aae9c1d6fcf19 Mon Sep 17 00:00:00 2001 From: Fred Reitberger Date: Fri, 6 May 2022 15:59:15 -0400 Subject: soc/amd/cezanne/fsp_m_params: fix modification of constant mcfg->usb_phy is a pointer to a struct usb_phy_config. The config is constant. Changing a constant is undefined behavior, so create a local static instance of usb_phy_config that can be modified safely. Change-Id: If9b76b869a5b0581f979432ce57cc40f1c253880 Signed-off-by: Fred Reitberger Reviewed-on: https://review.coreboot.org/c/coreboot/+/64133 Tested-by: build bot (Jenkins) Reviewed-by: Felix Held --- src/soc/amd/cezanne/fsp_m_params.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/soc/amd/cezanne') diff --git a/src/soc/amd/cezanne/fsp_m_params.c b/src/soc/amd/cezanne/fsp_m_params.c index cfe934b64b..ba2663a413 100644 --- a/src/soc/amd/cezanne/fsp_m_params.c +++ b/src/soc/amd/cezanne/fsp_m_params.c @@ -150,7 +150,10 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version) mcfg->sata_enable = is_dev_enabled(DEV_PTR(sata_0)) || is_dev_enabled(DEV_PTR(sata_1)); if (config->usb_phy_custom) { - mcfg->usb_phy = (struct usb_phy_config *)&config->usb_phy; + /* devicetree config is const, use local copy */ + static struct usb_phy_config lcl_usb_phy; + lcl_usb_phy = config->usb_phy; + mcfg->usb_phy = &lcl_usb_phy; mcfg->usb_phy->Version_Major = FSP_USB_STRUCT_MAJOR_VERSION; mcfg->usb_phy->Version_Minor = FSP_USB_STRUCT_MINOR_VERSION; mcfg->usb_phy->TableLength = sizeof(struct usb_phy_config); -- cgit v1.2.3