Skip to content

Commit

Permalink
Add SCSI scan for ENV in EXT4 or FAT
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
rstam3108 authored and trini committed Jul 8, 2022
1 parent ea92f95 commit 54ee5ae
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
5 changes: 5 additions & 0 deletions env/ext4.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand Down
8 changes: 7 additions & 1 deletion env/fat.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 54ee5ae

Please sign in to comment.