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: f135a1571a ("wilc1000: Support chip sleep over SPI")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/YFS5gx/gi70zlIaO@mwanda
This commit is contained in:
Dan Carpenter 2021-03-19 17:47:31 +03:00 committed by Kalle Valo
parent c81852a48e
commit 2f51061eda

View File

@ -575,7 +575,7 @@ void chip_allow_sleep(struct wilc *wilc)
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);
if (ret)
return;