Hello Oskar,
On 26.03.25 10:22, Oskar Nilsson wrote:
The part_get_info_ubi() function was incorrectly returning 0 (success)
when a UBI volume was not found for a given partition index. This caused
the part_create_block_devices() function in blk-uclass.c to continue
creating devices for non-existent partitions up to MAX_SEARCH_PARTITIONS
Fix the issue by returning -1 when a volume is not found, signaling to
the part_create_block_devices() function that no more valid volumes
exist.
Before patch, 128 blk_partition are created:
Class Index Probed Driver Name
-------------------------------------------------
root 0 [ + ] root_driver root_driver
thermal 0 [ ] imx_thermal |-- imx_thermal
simple_bus 0 [ + ] simple_bus |-- soc
mtd 0 [ + ] mxs-nand-dt | |-- nand-controller@1806000
blk 0 [ ] ubi_blk | | `-- nand-control...@1806000.blk
partition 0 [ ] blk_partition | | |--
nand-control...@1806000.blk:1
...
partition 127 [ ] blk_partition | | `--
nand-control...@1806000.blk:128
After patch, the expected blk_partition are created:
Class Index Probed Driver Name
-------------------------------------------------
root 0 [ + ] root_driver root_driver
thermal 0 [ ] imx_thermal |-- imx_thermal
simple_bus 0 [ + ] simple_bus |-- soc
mtd 0 [ + ] mxs-nand-dt | |-- nand-controller@1806000
blk 0 [ ] ubi_blk | | `-- nand-control...@1806000.blk
partition 0 [ ] blk_partition | | |--
nand-control...@1806000.blk:1
partition 1 [ ] blk_partition | | |--
nand-control...@1806000.blk:2
partition 2 [ ] blk_partition | | |--
nand-control...@1806000.blk:3
partition 3 [ ] blk_partition | | `--
nand-control...@1806000.blk:4
simple_bus 1 [ + ] simple_bus | |-- bus@2000000
Signed-off-by: Oskar Nilsson <onils...@rums.se>
Cc: Kyungmin Park <kmp...@infradead.org>
Cc: Heiko Schocher <h...@denx.de>
Cc: Alexey Romanov <avroma...@salutedevices.com>
Changed in v2:
- Change return from -1 to -ENOENT
---
drivers/mtd/ubi/part.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Thanks!
Reviewed-by: Heiko Schocher <h...@denx.de>
bye,
Heiko
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: h...@denx.de