Commit 2f51061e authored by Dan Carpenter's avatar Dan Carpenter Committed by Kalle Valo

wilc1000: fix a loop timeout condition

If the loop fails, the "while(trials--) {" loop will exit with "trials"
set to -1.  The test for that expects it to end with "trials" set to 0
so the warning message will not be printed.

Fix this by changing from a post-op to a pre-op.  This does mean that
we only make 99 attempts instead of 100 but that's okay.

Fixes: f135a157 ("wilc1000: Support chip sleep over SPI")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Acked-by: default avatarAjay Singh <ajay.kathat@microchip.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/YFS5gx/gi70zlIaO@mwanda
parent c81852a4
...@@ -575,7 +575,7 @@ void chip_allow_sleep(struct wilc *wilc) ...@@ -575,7 +575,7 @@ void chip_allow_sleep(struct wilc *wilc)
to_host_from_fw_bit = WILC_SPI_FW_TO_HOST_BIT; to_host_from_fw_bit = WILC_SPI_FW_TO_HOST_BIT;
} }
while (trials--) { while (--trials) {
ret = hif_func->hif_read_reg(wilc, to_host_from_fw_reg, &reg); ret = hif_func->hif_read_reg(wilc, to_host_from_fw_reg, &reg);
if (ret) if (ret)
return; return;
......
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