From 30e76b755b2a52e74bf916716a83deaf775664bb Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Mon, 15 Mar 2021 15:31:11 +0000 Subject: [PATCH 1/4] mmc: mtk-sd: don't ignore max-frequency from device tree commit e58e68d9 ("mmc: mtk-sd: assign plat->cfg.f_max with a correct value") wrongly assumed that plat->cfg.f_max is always unset at the time mscd_drv_probe() is run. This is not true in case max-frequency being defined in device tree, as it is then already set by mmc_of_parse() in msdc_of_to_plat(). Only set plat->cfg.f_max to the default maximum value in case it is not already set to a sane value. Fixes: e58e68d93e ("mmc: mtk-sd: assign plat->cfg.f_max with a correct value") Cc: Stefan Roese Cc: Weijie Gao Signed-off-by: Daniel Golle --- drivers/mmc/mtk-sd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/mtk-sd.c b/drivers/mmc/mtk-sd.c index 3b9c12266a..48a764be82 100644 --- a/drivers/mmc/mtk-sd.c +++ b/drivers/mmc/mtk-sd.c @@ -1639,7 +1639,8 @@ static int msdc_drv_probe(struct udevice *dev) else cfg->f_min = host->src_clk_freq / (4 * 4095); - cfg->f_max = host->src_clk_freq; + if (cfg->f_max < cfg->f_min || cfg->f_max > host->src_clk_freq) + cfg->f_max = host->src_clk_freq; cfg->b_max = 1024; cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34; From 29cbc4babf0a971986cccd73986908d1b8f07bda Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 24 Feb 2021 08:50:32 -0500 Subject: [PATCH 2/4] image: Avoid -ENODATA in host tools Unfortunately -ENODATA is not available in OpenBSD. Use -EBADMSG instead, to indicate a missing timestamp. Fixes: c5819701a3d image: Adjust the workings of fit_check_format() Signed-off-by: Simon Glass Reviewed-by: Mark Kettenis --- common/image-fit.c | 2 +- include/image.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/image-fit.c b/common/image-fit.c index 28b3d2b191..94501b1071 100644 --- a/common/image-fit.c +++ b/common/image-fit.c @@ -1651,7 +1651,7 @@ int fit_check_format(const void *fit, ulong size) /* mandatory / node 'timestamp' property */ if (!fdt_getprop(fit, 0, FIT_TIMESTAMP_PROP, NULL)) { log_debug("Wrong FIT format: no timestamp\n"); - return -ENODATA; + return -EBADMSG; } } diff --git a/include/image.h b/include/image.h index 138c83dd28..b4b284d52b 100644 --- a/include/image.h +++ b/include/image.h @@ -1158,7 +1158,7 @@ int fit_image_check_comp(const void *fit, int noffset, uint8_t comp); * @fit: pointer to the FIT format image header * @return 0 if OK, -ENOEXEC if not an FDT file, -EINVAL if the full FDT check * failed (e.g. due to bad structure), -ENOMSG if the description is - * missing, -ENODATA if the timestamp is missing, -ENOENT if the /images + * missing, -EBADMSG if the timestamp is missing, -ENOENT if the /images * path is missing */ int fit_check_format(const void *fit, ulong size); From 0453411998ed4425c5c1543de53ff7474bd42eea Mon Sep 17 00:00:00 2001 From: schspa Date: Fri, 26 Feb 2021 00:19:10 +0800 Subject: [PATCH 3/4] avb: Fix error when partition not found part_get_info_by_name will return -1 on error, and >0 on success. Signed-off-by: schspa Cc: Igor Opaniuk Reviewed-by: Igor Opaniuk --- common/avb_verify.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/avb_verify.c b/common/avb_verify.c index db10d0f21f..0520a71455 100644 --- a/common/avb_verify.c +++ b/common/avb_verify.c @@ -369,7 +369,7 @@ static struct mmc_part *get_partition(AvbOps *ops, const char *partition) } ret = part_get_info_by_name(mmc_blk, partition, &part->info); - if (!ret) { + if (ret < 0) { printf("Can't find partition '%s'\n", partition); goto err; } From 9262fe15599a388e365cca3091e4852be8f23f11 Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Thu, 11 Feb 2021 16:40:09 +0200 Subject: [PATCH 4/4] test: Include /sbin to the PATH when creating ext4 disk image On some distributions the mkfs.ext4 is under /sbin and /sbin is not set for mere users. Include /sbin to the PATH when creating ext4 disk image, so that users won't get a scary traceback from Python. Cc: Patrick Delaunay Signed-off-by: Andy Shevchenko Reviewed-by: Simon Glass --- test/py/tests/test_env.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/py/tests/test_env.py b/test/py/tests/test_env.py index 940279651d..9bed2f48d7 100644 --- a/test/py/tests/test_env.py +++ b/test/py/tests/test_env.py @@ -414,6 +414,8 @@ def mk_env_ext4(state_test_env): if os.path.exists(persistent): c.log.action('Disk image file ' + persistent + ' already exists') else: + # Some distributions do not add /sbin to the default PATH, where mkfs.ext4 lives + os.environ["PATH"] += os.pathsep + '/sbin' try: u_boot_utils.run_and_log(c, 'dd if=/dev/zero of=%s bs=1M count=16' % persistent) u_boot_utils.run_and_log(c, 'mkfs.ext4 %s' % persistent)