mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-29 13:53:33 +00:00
gnss: sirf: fix activation retry handling
Fix activation helper which would return -ETIMEDOUT even if the last
retry attempt was successful.
Also change the semantics of the retries variable so that it actually
holds the number of retries (rather than tries).
Fixes: d2efbbd18b
("gnss: add driver for sirfstar-based receivers")
Cc: stable <stable@vger.kernel.org> # 4.19
Signed-off-by: Johan Hovold <johan@kernel.org>
This commit is contained in:
parent
2595646791
commit
06fd9ab12b
1 changed files with 3 additions and 3 deletions
|
@ -168,7 +168,7 @@ static int sirf_set_active(struct sirf_data *data, bool active)
|
||||||
else
|
else
|
||||||
timeout = SIRF_HIBERNATE_TIMEOUT;
|
timeout = SIRF_HIBERNATE_TIMEOUT;
|
||||||
|
|
||||||
while (retries-- > 0) {
|
do {
|
||||||
sirf_pulse_on_off(data);
|
sirf_pulse_on_off(data);
|
||||||
ret = sirf_wait_for_power_state(data, active, timeout);
|
ret = sirf_wait_for_power_state(data, active, timeout);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
@ -179,9 +179,9 @@ static int sirf_set_active(struct sirf_data *data, bool active)
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
} while (retries--);
|
||||||
|
|
||||||
if (retries == 0)
|
if (retries < 0)
|
||||||
return -ETIMEDOUT;
|
return -ETIMEDOUT;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue