summaryrefslogtreecommitdiff
path: root/src/lib/rmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/rmodule.c')
-rw-r--r--src/lib/rmodule.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/rmodule.c b/src/lib/rmodule.c
index 84b8734f53..13eb324aa8 100644
--- a/src/lib/rmodule.c
+++ b/src/lib/rmodule.c
@@ -259,6 +259,8 @@ int rmodule_stage_load(struct rmod_stage_load *rsl)
struct cbfs_stage stage;
void *rmod_loc;
struct region_device *fh;
+ const int use_lzma = ENV_RAMSTAGE
+ || (ENV_ROMSTAGE && IS_ENABLED(CONFIG_COMPRESS_RAMSTAGE));
if (rsl->prog == NULL || prog_name(rsl->prog) == NULL)
return -1;
@@ -286,7 +288,7 @@ int rmodule_stage_load(struct rmod_stage_load *rsl)
if (rdev_readat(fh, rmod_loc, sizeof(stage), stage.len) !=
stage.len)
return -1;
- } else if (stage.compression == CBFS_COMPRESS_LZMA) {
+ } else if (use_lzma && (stage.compression == CBFS_COMPRESS_LZMA)) {
size_t fsize;
void *map = rdev_mmap(fh, sizeof(stage), stage.len);