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>
+ 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",
+ kfree(bootconf);
+ kfree(fit);
+out_blkdev:
-+ if (!found || ret)
++ if (!slot)
+ blkdev_put(bdev, &_fitblk_claim_ptr);
+
+ return ret;