Re: [PATCH 2/2] Add SCSI scan for ENV in EXT4 or FAT

Pali Rohár
2022-02-28T07:14:02Z

+ Simon, could you review this change? It would be nice to have this fix in upcoming U-Boot release.

On Wednesday 09 February 2022 00:27:01 Rogier Stam wrote:
> 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>

> ---
> env/ext4.c | 5 +++++
> env/fat.c | 5 +++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/env/ext4.c b/env/ext4.c
> index 9f65afb..47e05a4 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);
> diff --git a/env/fat.c b/env/fat.c
> index fdccd6c..dbd6a13 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>
> @@ -122,6 +123,10 @@ static int env_fat_load(void)
> if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "mmc"))
> mmc_initialize(NULL);
> #endif
> +#if defined(CONFIG_AHCI) || defined(CONFIG_SCSI)
> + if (!strcmp(CONFIG_ENV_FAT_INTERFACE, "scsi"))
> + scsi_scan(true);
> +#endif
>
> part = blk_get_device_part_str(CONFIG_ENV_FAT_INTERFACE,
> env_fat_device_and_part(),
> --
> 2.7.4
>