summaryrefslogtreecommitdiff
path: root/env/fat.c
diff options
context:
space:
mode:
authorRogier Stam <rogier@unrailed.org>2022-05-11 23:20:28 +0200
committerTom Rini <trini@konsulko.com>2022-07-08 09:05:47 -0400
commit54ee5ae84191aa7c53c9de709f6c66411d3e2dda (patch)
treeb9ae82b2e33911a4a0b6bc300bef4911bd2cb8eb /env/fat.c
parentea92f95d630cba9c3a324d250258ad2e35d9c997 (diff)
downloadu-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/fat.c')
-rw-r--r--env/fat.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/env/fat.c b/env/fat.c
index 6251d9649b..3172130d75 100644
--- a/env/fat.c
+++ b/env/fat.c
@@ -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)