msm: pil: Handle reference counts correctly on boot failure
If load_image() returns an error we don't decrement the reference
count for the processor. This means that the processor is marked
as online even though it is not. Fix it.
Change-Id: I16b039deb8bf1dfb143d8d3b79629d5fd2828265
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
diff --git a/arch/arm/mach-msm/peripheral-loader.c b/arch/arm/mach-msm/peripheral-loader.c
index fa9159e..0ecea85 100644
--- a/arch/arm/mach-msm/peripheral-loader.c
+++ b/arch/arm/mach-msm/peripheral-loader.c
@@ -350,13 +350,14 @@
}
mutex_lock(&pil->lock);
- if (!pil->count++) {
+ if (!pil->count) {
ret = load_image(pil);
if (ret) {
retval = ERR_PTR(ret);
goto err_load;
}
}
+ pil->count++;
pil_set_state(pil, PIL_ONLINE);
mutex_unlock(&pil->lock);
out: