diff options
author | Rogier Stam <rogier@unrailed.org> | 2022-05-11 23:20:28 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-07-08 09:05:47 -0400 |
commit | 54ee5ae84191aa7c53c9de709f6c66411d3e2dda (patch) | |
tree | b9ae82b2e33911a4a0b6bc300bef4911bd2cb8eb /env | |
parent | ea92f95d630cba9c3a324d250258ad2e35d9c997 (diff) | |
download | u-boot-54ee5ae84191aa7c53c9de709f6c66411d3e2dda.tar.gz u-boot-54ee5ae84191aa7c53c9de709f6c66411d3e2dda.tar.bz2 u-boot-54ee5ae84191aa7c53c9de709f6c66411d3e2dda.zip |
Add SCSI scan for ENV in EXT4 or FAT
When having environment stored in EXT4 or FAT
and using an AHCI or SCSI device / partition
the scan would not be performed early enough
and hence the device would not be recognized.
This change adds the scan when the interface
is "scsi" in a similar way to mmc_initialize.
Signed-off-by: Rogier Stam <rogier@unrailed.org>
Reviewed-by: Pali Rohár <pali@kernel.org>
Diffstat (limited to 'env')
-rw-r--r-- | env/ext4.c | 5 | ||||
-rw-r--r-- | env/fat.c | 8 |
2 files changed, 12 insertions, 1 deletions
diff --git a/env/ext4.c b/env/ext4.c index 9f65afb8a4..47e05a4891 100644 --- a/env/ext4.c +++ b/env/ext4.c @@ -31,6 +31,7 @@ #include <errno.h> #include <ext4fs.h> #include <mmc.h> +#include <scsi.h> #include <asm/global_data.h> DECLARE_GLOBAL_DATA_PTR; @@ -146,6 +147,10 @@ static int env_ext4_load(void) if (!strcmp(ifname, "mmc")) mmc_initialize(NULL); #endif +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) + if (!strcmp(ifname, "scsi")) + scsi_scan(true); +#endif part = blk_get_device_part_str(ifname, dev_and_part, &dev_desc, &info, 1); @@ -17,6 +17,7 @@ #include <errno.h> #include <fat.h> #include <mmc.h> +#include <scsi.h> #include <asm/cache.h> #include <asm/global_data.h> #include <linux/stddef.h> @@ -128,7 +129,12 @@ static int env_fat_load(void) if (!strcmp(ifname, "mmc")) mmc_initialize(NULL); #endif - +#ifndef CONFIG_SPL_BUILD +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI) + if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi")) + scsi_scan(true); +#endif +#endif part = blk_get_device_part_str(ifname, dev_and_part, &dev_desc, &info, 1); if (part < 0) |