diff options
author | Tom Rini <trini@konsulko.com> | 2021-10-26 09:31:48 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-10-26 09:33:17 -0400 |
commit | 75e33b378b3c81f1be1a8fa3815390b39fddda57 (patch) | |
tree | e414daf1db351b5857633b89ceb784a5e2eaf4c3 /drivers | |
parent | 397b35f09794e40d62d5e4f53992e2a711dc8be1 (diff) | |
parent | ca341e98c8273e2ee74c489d6274740824c7b239 (diff) |
Merge branch '2021-10-25-assorted-updates'
- Allow redundant environment on the eMMC HW boot partitions
- Use LMB in "loads"
- env, dfu + spi, OPTEE bugfixes
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dfu/dfu_sf.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/dfu/dfu_sf.c b/drivers/dfu/dfu_sf.c index 7e64ab772f..b72493ced8 100644 --- a/drivers/dfu/dfu_sf.c +++ b/drivers/dfu/dfu_sf.c @@ -24,8 +24,18 @@ static int dfu_get_medium_size_sf(struct dfu_entity *dfu, u64 *size) static int dfu_read_medium_sf(struct dfu_entity *dfu, u64 offset, void *buf, long *len) { - return spi_flash_read(dfu->data.sf.dev, dfu->data.sf.start + offset, - *len, buf); + long seglen = *len; + int ret; + + if (seglen > (16 << 20)) + seglen = (16 << 20); + + ret = spi_flash_read(dfu->data.sf.dev, dfu->data.sf.start + offset, + seglen, buf); + if (!ret) + *len = seglen; + + return ret; } static u64 find_sector(struct dfu_entity *dfu, u64 start, u64 offset) |