diff options
-rw-r--r-- | src/soc/qualcomm/common/qupv3_config.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/soc/qualcomm/common/qupv3_config.c b/src/soc/qualcomm/common/qupv3_config.c index 919c11bf4e..636f9b2fab 100644 --- a/src/soc/qualcomm/common/qupv3_config.c +++ b/src/soc/qualcomm/common/qupv3_config.c @@ -9,6 +9,7 @@ #include <soc/addressmap.h> static struct elf_se_hdr *fw_list[SE_PROTOCOL_MAX]; +static struct gsi_fw_hdr *gsi_hdr; void qupv3_se_fw_load_and_init(unsigned int bus, unsigned int protocol, unsigned int mode) @@ -185,16 +186,17 @@ void gpi_firmware_load(int addr) { uint32_t i; uint32_t regVal = 0; - struct gsi_fw_hdr *gsi_hdr; struct gsi_fw_iep *fwIep; struct gsi_fw_iram *fwIRam; struct gsi_regs *regs = (struct gsi_regs *)(uintptr_t)addr; static const char * const filename = "fallback/gsi_fw"; /* Assign firmware header base */ - gsi_hdr = cbfs_map(filename, NULL); - if (!gsi_hdr) - die("*ERROR* * cbfs_map() failed ***\n"); + if (!gsi_hdr) { + gsi_hdr = cbfs_map(filename, NULL); + if (!gsi_hdr) + die("*ERROR* * cbfs_map() failed ***\n"); + } assert(gsi_hdr->magic == GSI_FW_MAGIC_HEADER) |