mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-27 16:01:27 +00:00
ubi: fix bug creating partitions for non-existent volumes
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-controller@1806000.blk partition 0 [ ] blk_partition | | |-- nand-controller@1806000.blk:1 ... partition 127 [ ] blk_partition | | `-- nand-controller@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-controller@1806000.blk partition 0 [ ] blk_partition | | |-- nand-controller@1806000.blk:1 partition 1 [ ] blk_partition | | |-- nand-controller@1806000.blk:2 partition 2 [ ] blk_partition | | |-- nand-controller@1806000.blk:3 partition 3 [ ] blk_partition | | `-- nand-controller@1806000.blk:4 simple_bus 1 [ + ] simple_bus | |-- bus@2000000 Signed-off-by: Oskar Nilsson <onilsson@rums.se> Cc: Kyungmin Park <kmpark@infradead.org> Cc: Heiko Schocher <hs@denx.de> Cc: Alexey Romanov <avromanov@salutedevices.com> Changed in v2: - Change return from -1 to -ENOENT Reviewed-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
34820924ed
commit
3d1cc840a0
1 changed files with 1 additions and 1 deletions
|
@ -47,7 +47,7 @@ static int __maybe_unused part_get_info_ubi(struct blk_desc *dev_desc, int part_
|
|||
*/
|
||||
vol = ubi_get_volume_by_index(part_idx - 1);
|
||||
if (!vol)
|
||||
return 0;
|
||||
return -ENOENT;
|
||||
|
||||
snprintf(info->name, PART_NAME_LEN, vol->name);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue