Commit 90c29ed7 authored by Bjorn Andersson's avatar Bjorn Andersson Committed by Andy Gross

soc: qcom: wcnss_ctrl: Fix increment in NV upload

hdr.len includes both the size of the header and the fragment, so using
this when stepping through the firmware causes us to skip 16 bytes every
chunk of 3072 bytes; causing only the first fragment to actually be
valid data.

Instead use fragment size steps through the firmware blob.

Fixes: ea7a1f27 ("soc: qcom: Introduce WCNSS_CTRL SMD client")
Reported-by: default avatarWill Newton <will.newton@gmail.com>
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
parent fa65f804
...@@ -249,7 +249,7 @@ static int wcnss_download_nv(struct wcnss_ctrl *wcnss, bool *expect_cbc) ...@@ -249,7 +249,7 @@ static int wcnss_download_nv(struct wcnss_ctrl *wcnss, bool *expect_cbc)
/* Increment for next fragment */ /* Increment for next fragment */
req->seq++; req->seq++;
data += req->hdr.len; data += NV_FRAGMENT_SIZE;
left -= NV_FRAGMENT_SIZE; left -= NV_FRAGMENT_SIZE;
} while (left > 0); } while (left > 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment