summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Fatoum <a.fatoum@pengutronix.de>2020-07-06 08:27:04 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2020-07-14 20:28:08 +0200
commit4faadaaf6b62a0f6ab1eb85c372fa3e284ae7bac (patch)
tree995e6fcf33501cf981754949d0a9572c7bbac721
parent5e57f52c6a36f1cdc5d9ee1ec7cd8e2f149f9578 (diff)
downloadbarebox-4faadaaf6b62a0f6ab1eb85c372fa3e284ae7bac.tar.gz
barebox-4faadaaf6b62a0f6ab1eb85c372fa3e284ae7bac.tar.xz
ARM: layerscape: ppa: fix error propagation in ppa_init()
On fit_open_image, we returned PTR_ERR(fit) instead of the correct ret. We also didn't call fit_close as we should. Fix this. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/mach-layerscape/ppa.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/arm/mach-layerscape/ppa.c b/arch/arm/mach-layerscape/ppa.c
index 477e894781..6ab7659be7 100644
--- a/arch/arm/mach-layerscape/ppa.c
+++ b/arch/arm/mach-layerscape/ppa.c
@@ -77,8 +77,8 @@ static int ppa_init(void *ppa, size_t ppa_size, void *sec_firmware_addr)
if (IS_ERR(conf)) {
pr_err("Cannot open default config in ppa FIT image: %s\n",
strerrorp(conf));
- fit_close(fit);
- return PTR_ERR(fit);
+ ret = PTR_ERR(fit);
+ goto err;
}
@@ -86,7 +86,6 @@ static int ppa_init(void *ppa, size_t ppa_size, void *sec_firmware_addr)
if (ret) {
pr_err("Cannot open firmware image in ppa FIT image: %s\n",
strerror(-ret));
- ret = PTR_ERR(fit);
goto err;
}
@@ -107,7 +106,7 @@ static int ppa_init(void *ppa, size_t ppa_size, void *sec_firmware_addr)
err:
fit_close(fit);
- return 0;
+ return ret;
}
int ls1046a_ppa_init(resource_size_t ppa_start, resource_size_t ppa_size)