Parsing dfu_alt_info depends on matching MTD device names, so it is necessary for all MTD devices to be probed first. Move the existing call to mtd_probe_devices() accordingly.
This fixes a failure of the "dfu usb" command that occurs when: - dfu_alt_info contains SF devices listed as via MTD - there is no persistent environment stored in SF - "sf probe" has not been executed prior to "dfu usb" Signed-off-by: Ralph Siemsen <[email protected]> --- drivers/dfu/dfu_mtd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/dfu/dfu_mtd.c b/drivers/dfu/dfu_mtd.c index c36ac09189f..da19bc21492 100644 --- a/drivers/dfu/dfu_mtd.c +++ b/drivers/dfu/dfu_mtd.c @@ -289,6 +289,9 @@ int dfu_fill_entity_mtd(struct dfu_entity *dfu, char *devstr, char **argv, int a struct mtd_info *mtd; int part; + /* register partitions with MTDIDS/MTDPARTS or OF fallback */ + mtd_probe_devices(); + mtd = get_mtd_device_nm(devstr); if (IS_ERR_OR_NULL(mtd)) return -ENODEV; @@ -324,9 +327,6 @@ int dfu_fill_entity_mtd(struct dfu_entity *dfu, char *devstr, char **argv, int a if (*s) return -EINVAL; - /* register partitions with MTDIDS/MTDPARTS or OF fallback */ - mtd_probe_devices(); - partnum = 0; list_for_each_entry(partition, &mtd->partitions, node) { partnum++; --- base-commit: 964ad5b5c91b7be56e443e899d7f873e6aa8c9fc change-id: 20260901-rzn1-2026-10-mtd-856065fbc00c Best regards, -- Ralph Siemsen <[email protected]>
