aboutsummaryrefslogtreecommitdiff
path: root/src/soc
diff options
context:
space:
mode:
authorFred Reitberger <reitbergerfred@gmail.com>2022-05-06 15:51:00 -0400
committerTim Wawrzynczak <twawrzynczak@chromium.org>2022-05-12 18:45:04 +0000
commit35f73bcce18aeb053b7f66dcde249f99b3e8e8d5 (patch)
treeb3cc24dfc1470a589a973ab0b1a9743576005d02 /src/soc
parent28d012fc4cdf9a497bbfa090f5abdca28e623b29 (diff)
soc/amd/sabrina/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: Iedbc49109dcd1da9198fcb2a8f84e2b567cd8f86 Signed-off-by: Fred Reitberger <reitbergerfred@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/64130 Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc')
-rw-r--r--src/soc/amd/sabrina/fsp_m_params.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/soc/amd/sabrina/fsp_m_params.c b/src/soc/amd/sabrina/fsp_m_params.c
index c1f903b3bf..1a2f23bd51 100644
--- a/src/soc/amd/sabrina/fsp_m_params.c
+++ b/src/soc/amd/sabrina/fsp_m_params.c
@@ -143,7 +143,10 @@ void platform_fsp_memory_init_params_cb(FSPM_UPD *mupd, uint32_t version)
mcfg->hda_enable = is_dev_enabled(DEV_PTR(hda));
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);