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

Reply via email to