mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-02 09:46:37 +03:00
spi: cadence_qspi: Off by 1 in test for timeout
In cadence_qspi_apb_exec_flash_cmd the test for a timeout uses a post-decrement on the variable retry which will result in a value of -1 after the loop exit, or it would if the variable were signed. To fix this make retry a signed variable and test its value for being equal to -1. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org>
This commit is contained in:
committed by
Tom Rini
parent
7807ed9213
commit
0ed45794ae
@@ -354,7 +354,7 @@ void cadence_qspi_apb_controller_init(struct cadence_spi_priv *priv)
|
||||
|
||||
int cadence_qspi_apb_exec_flash_cmd(void *reg_base, unsigned int reg)
|
||||
{
|
||||
unsigned int retry = CQSPI_REG_RETRY;
|
||||
int retry = CQSPI_REG_RETRY;
|
||||
|
||||
/* Write the CMDCTRL without start execution. */
|
||||
writel(reg, reg_base + CQSPI_REG_CMDCTRL);
|
||||
@@ -369,7 +369,7 @@ int cadence_qspi_apb_exec_flash_cmd(void *reg_base, unsigned int reg)
|
||||
udelay(1);
|
||||
}
|
||||
|
||||
if (!retry) {
|
||||
if (retry == -1) {
|
||||
printf("QSPI: flash command execution timeout\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user