Change the device type from "usb_mass_storage" to "usb" when
booting a script.

Before this change:
  => printenv devtype
  devtype=usb_mass_storage

After this change:
  => printenv devtype
  devtype=usb

Signed-off-by: John Clark <[email protected]>
---

 boot/bootmeth_script.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/boot/bootmeth_script.c b/boot/bootmeth_script.c
index 225eb18ee6..9fdadb3005 100644
--- a/boot/bootmeth_script.c
+++ b/boot/bootmeth_script.c
@@ -187,10 +187,14 @@ static int script_set_bootflow(struct udevice *dev, 
struct bootflow *bflow,
 static int script_boot(struct udevice *dev, struct bootflow *bflow)
 {
        struct blk_desc *desc = dev_get_uclass_plat(bflow->blk);
+       const char *devtype = blk_get_devtype(bflow->blk);
        ulong addr;
        int ret;
 
-       ret = env_set("devtype", blk_get_devtype(bflow->blk));
+       if (!strcmp("usb_mass_storage", devtype))
+               ret = env_set("devtype", "usb");
+       else
+               ret = env_set("devtype", devtype);
        if (!ret)
                ret = env_set_hex("devnum", desc->devnum);
        if (!ret)
@@ -198,7 +202,7 @@ static int script_boot(struct udevice *dev, struct bootflow 
*bflow)
        if (!ret)
                ret = env_set("prefix", bflow->subdir);
        if (!ret && IS_ENABLED(CONFIG_ARCH_SUNXI) &&
-           !strcmp("mmc", blk_get_devtype(bflow->blk)))
+           !strcmp("mmc", devtype))
                ret = env_set_hex("mmc_bootdev", desc->devnum);
        if (ret)
                return log_msg_ret("env", ret);
-- 
2.39.2

Reply via email to