gnss: sirf: fix activation retry handling
commit 06fd9ab12b804451b14d538adbf98a57c2d6846b upstream.
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
41867ab9b0
commit
3c1773b027
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