diff options
author | jkim <jkim@FreeBSD.org> | 2015-01-26 19:27:30 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2015-01-26 19:27:30 +0000 |
commit | 8459b965f7a842aaabd4b53e080bd15b094fbff5 (patch) | |
tree | c495853c04dd2c3b31601307f2a479cba08ababb /sys | |
parent | 2c7d513fe440215e1d96d17cc49146e2ca42f3bc (diff) | |
download | FreeBSD-src-8459b965f7a842aaabd4b53e080bd15b094fbff5.zip FreeBSD-src-8459b965f7a842aaabd4b53e080bd15b094fbff5.tar.gz |
MFC: r277594
Simplify retry loops.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/acpica/acpi_ec.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/sys/dev/acpica/acpi_ec.c b/sys/dev/acpica/acpi_ec.c index 4f11385..5c79a95 100644 --- a/sys/dev/acpica/acpi_ec.c +++ b/sys/dev/acpica/acpi_ec.c @@ -648,10 +648,8 @@ EcGpeQueryHandler(void *Context) Status = EcCommand(sc, EC_COMMAND_QUERY); if (ACPI_SUCCESS(Status)) break; - if (ACPI_SUCCESS(EcCheckStatus(sc, "retr_check", + if (ACPI_FAILURE(EcCheckStatus(sc, "retr_check", EC_EVENT_INPUT_BUFFER_EMPTY))) - continue; - else break; } sc->ec_sci_pend = FALSE; @@ -966,15 +964,13 @@ EcRead(struct acpi_ec_softc *sc, UINT8 Address, UINT8 *Data) gen_count = sc->ec_gencount; EC_SET_DATA(sc, Address); status = EcWaitEvent(sc, EC_EVENT_OUTPUT_BUFFER_FULL, gen_count); - if (ACPI_FAILURE(status)) { - if (ACPI_SUCCESS(EcCheckStatus(sc, "retr_check", - EC_EVENT_INPUT_BUFFER_EMPTY))) - continue; - else - break; + if (ACPI_SUCCESS(status)) { + *Data = EC_GET_DATA(sc); + return (AE_OK); } - *Data = EC_GET_DATA(sc); - return (AE_OK); + if (ACPI_FAILURE(EcCheckStatus(sc, "retr_check", + EC_EVENT_INPUT_BUFFER_EMPTY))) + break; } device_printf(sc->ec_dev, "EcRead: failed waiting to get data\n"); return (status); |