From 25157ae50d14d34986f28333fea2b7cd5f67ad24 Mon Sep 17 00:00:00 2001
From: Bjorn Andersson <bjorn.andersson@linaro.org>
Date: Mon, 6 Nov 2017 22:57:45 -0800
Subject: [PATCH] sahara: Ignore DONE response code

The DONE message contains a return code denoting if the firmware is done
(1) requesting files from the host, or if there are more requests to
come (0). Unfortunately on some platforms the ROM code sends 0
regardless, so we just have to assume that we're done.

This assumes that there is only ever one image to transfer.

Reported-by: Kirill Kapranov <kkapra@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
 sahara.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/sahara.c b/sahara.c
index ea3af15..060ff70 100644
--- a/sahara.c
+++ b/sahara.c
@@ -198,7 +198,6 @@ int sahara_run(int fd, char *prog_mbn)
 	char buf[4096];
 	char tmp[32];
 	bool done = false;
-	int ret;
 	int n;
 
 	while (!done) {
@@ -235,9 +234,8 @@ int sahara_run(int fd, char *prog_mbn)
 			sahara_eoi(fd, pkt);
 			break;
 		case 6:
-			ret = sahara_done(fd, pkt);
-			if (ret)
-				done = true;
+			sahara_done(fd, pkt);
+			done = true;
 			break;
 		case 0x12:
 			sahara_read64(fd, pkt, prog_mbn);
-- 
GitLab