diff options
| author | Daniel Golle | 2025-03-28 15:40:28 +0000 |
|---|---|---|
| committer | Daniel Golle | 2025-04-14 17:32:05 +0000 |
| commit | 9e9f6875bcc576946f37dce8d88742d259065f0b (patch) | |
| tree | 8c403e9d966a2e3f1e75c60e7bffe6781224c5ab | |
| parent | be1b2548882fc04237e67882dc84449678019f7f (diff) | |
| download | openwrt-9e9f6875bcc576946f37dce8d88742d259065f0b.tar.gz | |
generic: fitblk: close block device if mapping image failed
In case a broken fit image is present on flash the fitblk driver would
not map any /dev/fit* devices, but also not always close the block device
the image resides on. In case of ubiblock devices this is fatal as one
then cannot remove the ubiblock device (-EBUSY), and hence cannot replace
the broken image.
Always close the block device in case no sub-image was mapped.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 2b9c81d1cbc65eeb9304b7274058418efa8a9c78)
| -rw-r--r-- | target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch b/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch index b06c29ffaf..5a88631513 100644 --- a/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch +++ b/target/linux/generic/pending-6.6/510-block-add-uImage.FIT-subimage-block-driver.patch @@ -656,7 +656,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> + add_fit_subimage_device(bdev, slot++, start_sect, nr_sects, true); + } + -+ if (!found || !slot) ++ if (!slot) + goto out_bootconf; + + dev_info(dev, "mapped %u uImage.FIT filesystem sub-image%s as /dev/fit%s%u%s\n", @@ -675,7 +675,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> + kfree(bootconf); + kfree(fit); +out_blkdev: -+ if (!found || ret) ++ if (!slot) + blkdev_put(bdev, &_fitblk_claim_ptr); + + return ret; |