Эх сурвалжийг харах

mxs_ocotp: prevent error path from returning success

The code may goto 'fail' upon error with 'ret' variable set to an error
code, but this variable was being overwritten by a final preparation
function to restore the HCLK, so success was (in general) returned even
after an error was hit previously.

With this change, the function may now return success even if the final
preparation function fails, but it's probably enough to print a message
because (if successful) the real programming of the fuses has already
completed.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Hector Palacios 10 жил өмнө
parent
commit
d8d160e420

+ 1 - 4
drivers/misc/mxs_ocotp.c

@@ -223,11 +223,8 @@ static int mxs_ocotp_write_fuse(uint32_t addr, uint32_t mask)
 
 
 fail:
 fail:
 	mxs_ocotp_scale_vddio(0, &vddio_val);
 	mxs_ocotp_scale_vddio(0, &vddio_val);
-	ret = mxs_ocotp_scale_hclk(0, &hclk_val);
-	if (ret) {
+	if (mxs_ocotp_scale_hclk(0, &hclk_val))
 		puts("Failed scaling up the HCLK!\n");
 		puts("Failed scaling up the HCLK!\n");
-		return ret;
-	}
 
 
 	return ret;
 	return ret;
 }
 }