diff options
| author | Daniel Golle | 2025-03-28 15:40:28 +0000 |
|---|---|---|
| committer | Daniel Golle | 2025-03-28 15:42:41 +0000 |
| commit | 2b9c81d1cbc65eeb9304b7274058418efa8a9c78 (patch) | |
| tree | 7683789dcc06c572d0ecc114993f87f4bbc40da1 | |
| parent | 21cece29e9eebc397eadee259e60c7fc44828cce (diff) | |
| download | openwrt-2b9c81d1cbc65eeb9304b7274058418efa8a9c78.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>
| -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; |