diff --git a/arch/arm/mach-snapdragon/capsule_update.c b/arch/arm/mach-snapdragon/capsule_update.c index 39838a2a8bca..e8c39a6e9fc3 100644 --- a/arch/arm/mach-snapdragon/capsule_update.c +++ b/arch/arm/mach-snapdragon/capsule_update.c @@ -624,7 +624,8 @@ void qcom_configure_capsule_updates(void) } memset(partitions, 0, sizeof(qcom_partitions)); - if (IS_ENABLED(CONFIG_SCSI)) { + if (IS_ENABLED(CONFIG_SCSI) && !uclass_id_count(UCLASS_SCSI)) { + /* Scan for SCSI devices, unless already scanned earlier in boot */ ret = scsi_scan(false); if (ret) { debug("Failed to scan SCSI devices: %d\n", ret); diff --git a/arch/arm/mach-snapdragon/qcom_fit_multidtb.c b/arch/arm/mach-snapdragon/qcom_fit_multidtb.c index edab8c241098..456712300ab7 100644 --- a/arch/arm/mach-snapdragon/qcom_fit_multidtb.c +++ b/arch/arm/mach-snapdragon/qcom_fit_multidtb.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -642,7 +643,7 @@ static int qcom_load_fit_image(const char *filename, const char *partname, if (!ret) { fat_size(filename, &file_size); - fit_buf = malloc(file_size); + fit_buf = malloc_cache_aligned(file_size); if (!fit_buf) return -ENOMEM; diff --git a/configs/qcom_defconfig b/configs/qcom_defconfig index 17f09c25c70d..997d230bd2a4 100644 --- a/configs/qcom_defconfig +++ b/configs/qcom_defconfig @@ -18,6 +18,7 @@ CONFIG_BUTTON_CMD=y CONFIG_FIT=y CONFIG_FIT_VERBOSE=y CONFIG_QCOM_FIT_MULTIDTB=y +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set CONFIG_BOOTSTD_FULL=y # CONFIG_BOOTMETH_VBE is not set CONFIG_BOOTDELAY=1 diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c index 4a3ace3a3045..4fd53fb598a4 100644 --- a/lib/efi_loader/efi_disk.c +++ b/lib/efi_loader/efi_disk.c @@ -529,8 +529,12 @@ static efi_status_t efi_disk_add_dev( /* * On partitions or whole disks without partitions install the * simple file system protocol if a file system is available. + * + * Skip the filesystem probe for non-ESP GPT partitions: only the ESP + * is ever opened as a filesystem before boot. */ if ((part || desc->part_type == PART_TYPE_UNKNOWN) && + (!part_info || (part_info->bootable & PART_EFI_SYSTEM_PARTITION)) && efi_fs_exists(desc, part)) { ret = efi_create_simple_file_system(desc, part, diskobj->dp, &diskobj->volume);